首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Objective-C if语句中,感叹号的含义是什么?

在Objective-C if语句中,感叹号(!)的含义是取反。如果条件表达式为真(true),则执行if语句中的代码块;如果条件表达式为假(false),则跳过if语句中的代码块。这种用法类似于逻辑运算符“非”(NOT)的操作,在条件表达式为真时产生相反的结果。例如:

代码语言:txt
复制
if (!condition) {
    // 当条件为假时执行的代码块
}

如果条件表达式的值为真,则不会执行if语句中的代码块;如果条件表达式的值为假,则执行if语句中的代码块。这种用法可以简化一些复杂的条件判断语句,使得代码更加简洁易懂。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Swift 基础之可选

C 和 Objective-C 中并没有可选这个概念。最接近的是 Objective-C 中的一个特 性,一个方法要不返回一个对象要不返回 nil,nil 表示“缺少一个合法的对象”。...当你确定可选包确实含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。这个惊叹号表示“我知道这个可选有值,请使用它。”...像下面这样在 if 语句中写一个可选绑定: if let constantName = someOptional { statements } 你可以像上面这样使用可选绑定来重写 possibleNumber...在 Objective-C 中,nil 是一个指向 不存在对象的指针。在 Swift 中,nil 不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选都可以被设置为 nil,不只是对象类型。...你可以把隐式解析可选当做一个可以自动解析的可选。你要做的只是声明的时候把感叹号放到类型的结尾,而不是每次取值的可选名字的结尾。 注意:如果你在隐式解析可选没有值的时候尝试取值,会触发运行时错误。

78730
  • Swift基础 基础知识

    在Objective-C中,’ nil ‘是一个指向不存在对象的指针。在Swift中,’ nil ‘不是一个指针——它是一个特定类型的值的缺失。...语句中使用可选绑定创建的常量和变量仅在if语句的正文中可用。...这些类型的可选选项被定义为隐式未包装的可选选项。您通过放置感叹号(String!)来编写隐式打开的可选选项而不是问号(String?)在您想要选择的类型之后。...使用时,不要在可选名称后放置感叹号,而是在声明选项类型后放置感叹号。 当可选值在首次定义可选后立即确认存在时,隐式未包装的可选值非常有用,并且可以肯定可以假设在此后的每个点都存在。...您还可以使用带有可选绑定的隐式解包装可选选项,在单个语句中检查和解包装其值: if let definiteString = assumedString { print(definiteString

    15500

    SQL中使用的符号

    符号 名称和用法 [space] or [tab] 空白(制表符(9)或空格(32)):关键字、标识符和变量之间的一个或多个空白字符。 ! 感叹号(33):条件表达式中谓词之间的或逻辑运算符。...在SQL Shell中!命令用于发出ObjectScript命令行。 != 感叹号/等号:不等于比较条件。 " 引号(34):包含一个分隔的标识符名称。...在SELECT DISTINCT BY子句中,将用于选择唯一值的项或项的逗号分隔列表括起来。在SELECT语句中,将子查询括在FROM子句中。括起UNION中使用的预定义查询的名称。...俄语、乌克兰语和捷克语区域设置的日期分隔符:DD.MM.YYYY作为变量或数组名称的前缀,指定通过引用传递:.name %PATTERN字符串多字符通配符。 / 斜杠(47):除法算术运算符。...在WHERE子句中,内联接。 > 大于(62):大于比较条件。 >= 大于等于:大于等于比较条件。 ? 问号(63):在动态SQL中,由Execute方法提供的输入参数变量。

    4.7K20

    定语从句

    先行词的概念 被定语从句修饰的词叫做先行词 在定语从句的含义层面上,连词等同于先行词,即使用先行词确定连词的含义。...不能用that的情况 (1)在非限定性定语从句中,有逗号,无that (2)介词+连词做宾语的情况下,指物用which,指人用whom The board on which they stood was...无成分,有含义的连词的注意事项 介词+which的两种情况 方法: 将先行词带到从句中,从句与先行词用哪个介词连接,就填哪个介词。...的情况 不能用that的情况 先行词是指物的不定代词 非限制性定语从句中,不能用that 先行词被绝对含义的词修饰 连词在介词之后不能用that 先行词既有人又有物的时候 不做成分的连词的注意事项...定语从句中,连词作宾语时,连词可以省略 定语从句中,连词之前有介词时,连词作成分,用which/whom 定语从句中,连词之前有介词时,连词不做成分,用which 学会区分定语从句与同位语从句

    66120

    名词性从句

    名词性从句包括主语从句,宾语从句,表语从句,同位语从句 名词性从句中的连词分为三类 一、无成分,无含义(1个) that I can’t believe that the accident happened...二、无成分,有含义(8个) Whether/if 是否 if做是否讲,只能用于宾语从句 Whether We will visit Beijing or not depends on the weather...三、有成分,有含义 what 什么,做主、宾指物 What surprised me most was that such a little girl could play the violin so...宾语从句中连词that可以省略 I think (that) everyone is responsible for this matter. 连词+ever ,用法不变,意思,无论……....名词性从句中需要注意的五点 注意点 wonder后的从句用陈述语序 It做形式主语 It做形式宾语 宾语从句中的that可以省略 连词+ever,用法不变,含义是无论…

    84630

    【NLP】自然语言处理中词性、短语、短语关系标签的具体含义列表

    阅读大概需要11分钟 跟随小博主,每天进步一丢丢 编辑:zenRRan ROOT:要处理文本的语句 IP:简单从句 NP:名词短语 VP:动词短语 PU:断句符,通常是句号、问号、感叹号等标点符号...名词性主语(nominal subject) (同步,建设) top — 主题(topic) (是,建筑) npsubj — 被动型主语(nominal passive subject),专指由“被”引导的被动句中的主语...,一般是谓词语义上的受事 (称作,镍) csubj — 从句主语(clausal subject),中文不存在 xsubj — x主语,一般是一个主语下面含多个从句 (完善,有些) 中心语为谓词或介词...comp — 补语 ccomp — 从句补语,一般由两个动词构成,中心语引导后一个动词所在的从句(IP) (出现,纳入) xcomp — x从句补语(xclausal complement),不存在...IP(采取,对) clmod — 从句修饰(clause modifier) (因为,开始) plmod — 介词性地点修饰(prepositional localizer modifier) (在,

    2.7K10

    谷歌搜索用上BERT,10%搜索结果将改善

    最近,谷歌宣布,他们的搜索引擎用上了强大的 BERT 预训练模型,可以让搜索引擎结合语境理解用户的搜索意图,甚至能理解一些不起眼的介词在搜索语句中的重要含义。...用上 BERT 之后,对于比较长、会话性比较强的查询,或者在「for」、「to」等介词比较重要的语句中,谷歌搜索引擎将能够理解查询语句中词的上下文。用户可以用更加自然的方式进行搜索。...在 BERT 的帮助下,搜索引擎将能够理解搜索语句的核心含义,知道「to」这种简单词在句子中发挥的重要作用,因此能够返回相关性更强的结果。 ?...用上 BERT 之前,谷歌搜索引擎用的是匹配关键词的方法,用搜索结果中的「stand-alone」匹配查询语句中的「stand」。但根据语境,「stand」在搜索语句中的含义并非如此。...他们还用 BERT 改进了 20 多个国家的精选摘要,在韩语、印地语、葡萄牙语中取得了显著进展。

    1.6K20

    9.java web的发展 javaweb是什么 J2EE发展历史 规范 J2EE是什么 发展背景 组件标准 J2EE好处作用 Servlet 含义 本质 发展 java在web中的发展 servl

    ,就是面向企业级开发的,但是具体的到底是什么?...所以想要通用,就需要达成一致,在共同的规范下 J2EE的发展背景 在许多企业级应用中 例如数据库连接、邮件服务、事务处理等都是一些通用企业需求模块 这些是通用并且是可复用的模块 如果每次在开发中都由开发人员来完成的话...这是一段经常用来描述J2EE 现在可以不用纠结上面这些到底是什么,到底怎么用 你只需要知道,它定义了一整套的技术规范 对于厂商,J2EE意味着一套开放标准,加入这个标准, 他们的产品就可以运行在各种不同的操作系统和工作环境下...在未来的技术发展过程中,Servlet 有可能彻底取代 CGI。...,也限定了大家统一访问的形式方法,所以会更加易于维护 比如有一个属性name,我会知道调用他的getName获取值,如果没有javaBean规范,我就不会知道name的获取方法是什么 所以这句是JSP+

    1.7K10

    Swift基础语法(常量变量、数据类型、元组、可选、断言)

    当你确定可选包确实含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。这个惊叹号表示“我知道这个可选有值,请使用它。”...可选绑定可以用在if和while语句中来对可选的值进行判断并把值赋给一个常量或者变量。if和while语句,请参考控制流。...像下面这样在if语句中写一个可选绑定: if let constantName = someOptional { statements } 你可以像上面这样使用可选绑定来重写possibleNumber...// surveyAnswer 被自动设置为 nil 注意:Swift 的nil和 Objective-C 中的nil并不一样。在 Objective-C 中,nil是一个指向不存在对象的指针。...你可以把隐式解析可选当做一个可以自动解析的可选。你要做的只是声明的时候把感叹号放到类型的结尾,而不是每次取值的可选名字的结尾。 注意:如果你在隐式解析可选没有值的时候尝试取值,会触发运行时错误。

    2K90

    Swift Reference Cycle中的weak,unowned,Closure Capture List

    Swift的官方文档Automatic Reference Counting中并没有对ARC进行定义,但是可以参考Objective-C中关于ARC的定义,因为Objective-C中的ARC和Swift...不过,剩下的这「小部分」情况,也够大家头大的…… 这「小部分」情况是什么呢,就是Reference Cycle。...一语中的,租客john真的狗带了(被赋值为nil),同时他对Apartment的strong reference也随之消失。...// 用Implicitly Unwrapped Optional的方式(就是加个感叹号),表示初始化后属性一定有值,不为nil(备注:还是Optional类型,初始化前的默认值也是nil) init...// 显式地声明capture回来的实例,是weak类型的reference // 因为weak reference只能是optional类型,所以使用时要解包处理(感叹号强制解包) myFunction

    1K30

    iOS中Cocoa框架·Runtime及isa指针知识·填坑

    Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。 1、Cocoa是什么? Cocoa是OS X和 iOS操作系统的程序的运行环境。...是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。...2.2 Objective-C的优点 Objective-C语言有C++ Java等面向对象的特点,那是远远不能体现它的优点的。Objective-C的优点是它是动态的。...这个包含信息就是Objective-C动态能力的根源了。 那我们看看isa指针类型的数据结构是什么样的?...为了得到整个类组织架构的信息,objc_class结构里定义了第二个成员变量Class super_class,它指向父类的类对象。说了这么多,可能关系缕不清楚,有道是一张图胜过千言万语: ?

    1K20

    译文: 低调奢华有内涵的「Runtime」

    一起在「操场」(一语相关)上基情四射。(译者:操场——playground,是Swift的一个工具,用于学习、验证Swift)。 Swift的一个核心功能就是可以和OC进行混编。...事实上,苹果还特别声明: 「当你用Objective-C编程的时候,并不需要用到Runtime库」 这就很容易理解为什么有人会这样说:在不了解Objective-C Runtime下去使用它,将会是危险的...因为Runtime允许你访问很多Cocoa或者第三方库的底层特性。 Objective-C的Runtime究竟是什么?...上面这个陈述,表明Objective-C是动态干活儿的,也就是说Objective-C是一门动态语言,与之相反,就是Swift、C++、Java等等这类语言。是什么因素决定了一门语言是静态的还是动态?...感谢Objective-C的Runtime,我们可以在「运行时」为这个对象添加缺失的方法(方法的实现为空),这样就可以防止这个崩溃了。

    97940

    ArcGIS二次开发前言

    ,OneNote上也记录了几十万字笔记,与初离象牙塔的懵懂已不可同日而语。...我个人平时工作习惯用arcgis10.2.2开发,在不同系统中开发有些问题会有不同的表现形式,经测试发现,就win10系统而言,该版本与1909版的win10兼容性较好。...常见bug解决方案 (1)在引用ESRI.ArcGIS的库时,出现黄色感叹号 解决方案:将引用库右键——属性——不同版本设为false,这样就可以编译不同版本的arcgis啦~ (2)“无法嵌入的互操作类型...以下是该项设置的具体含义: 1.”嵌入互操作类型”中的嵌入就是引进、导入的意思,类似于c#中using,目的是告诉编译器是否要把互操作类型引入。 2....(3)检索COM类工厂中为CLSID为{XXXXXXXXX}的组件时失败 首先排查控件是否注册成功,若控件注册成功且依然报错,在64位系统中,可以试试项目右键——属性——生成——常规——目标平台改为x86

    94110

    让程序员早点下班的《技术写作指南》

    丰色 发自 凹非寺 量子位 | 公众号 QbitAI 对于程序员来说,每天不是在写bug,就是在修bug~ 在不停coding之外,做好一些细节毋庸置疑也可以帮助我们早点下班。...不要复述代码,要写这段代码的深层含义,提供增量信息。...Microcopy指的是用户操作/系统出现失误时,你的网页/APP弹出的提示语。 这种提示语怎么写,也有讲究: (1)避免使用技术名词。...相信很多人都遇到过弹出来一行你看不懂的技术提示语的时候,比如“执行超时“这种,让你不知道发生了什么,不知道该怎么做。 要避免这种情况,最好是不解释出现了什么错误,直接告诉用户该做什么。...我们可以帮助您恢复您的帐户。” 还有一点:尽量避免字母全部大写或者使用感叹号,会带来敌意。 (3)恰当使用幽默语气,有时强迫幽默比不幽默效果更糟糕。

    26740

    【C语言】分支语句详解

    就要用上else(其他的情况),在这里也可以翻译为否则,写法如下: if (表达式) 语句1 else 具体示例:其含义为,输入一个整数,判断是否为奇数,是奇数就打印,否则为偶数,再打印 分支语句中包含多条语句...嵌套if: 在 if else 语句中,else 可以与另⼀个 if 语句连⽤,构成多重判断。⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。...是否等于3,现在的含义是把3赋值给n,是永远为真的条件 (2)多个关系符不能连用,比如想表达年龄在18到30岁之间时,不能写成18==18 && age...: 能被4整除并且不能被100整除是闰年 能被400整除是闰年 答案在文末 五、switch语句     除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。...我们会发现原本余数是0,结果还继续打印了余数是1,原因是 switch 语句也是分⽀效果的,只有在 switch 语句中使⽤ break 才能在跳出 switch 语句,如果某⼀个 case 语句的后边没有

    7110

    iOS 开发面试通关指南:67 个必知问题!

    这个问题只是为了了解你过去是独自工作,在一个较大的团队中工作,远程协作,还是仅与本地的开发者合作。 4.你知识储备的来源是什么?平时会看一些博客或者播客(podcast)内容吗?举几个例子吧。...19.escaping和unescaping分别是什么意思?这是个简单的问题。但你还记得哪个是默认选项吗? 20.(如果求职者会Objective-C):Swift和Objective-C有什么区别?...你分别喜欢这两种语言的什么特性?随便说点什么都行——如果你对两种语言都有经验,你就会知道在每种语言身上你最喜欢或最想念的是什么。 21.你听说过method swizzling吗?是什么意思?...(如果求职者会Objective-C):Objective-C中的atomic/nonatomic是什么? 24.什么是KVO和KVC?这是另外一个很大的题目,所以至少要了解一些基本知识。...希望你不是那类一遇到约束冲突,就把所有约束的优先级都设置为999的人。 48.你在iOS中制作过的最复杂的动画是什么?你是怎么做的?如果你做过一些精美的东西,那就自信地说出来吧。

    1.2K20
    领券