Objective c 这类“如果”是什么意思?

Objective c 这类“如果”是什么意思?,objective-c,xcode,cocoa,Objective C,Xcode,Cocoa,我一直在读一些关于可可的电子书,所以我可以学到更多,但我不太清楚这类if的含义: if(!something) if(something) 我想: if (something !=nil) 意味着如果某个东西不存在,对吗 谢谢:在C中,所有不等于NULL或0的内容都被认为是真的 因此 与相同 if (!(something != nil)) if (something == nil) 因此与 if (!(something != nil)) if (something == nil)

我一直在读一些关于可可的电子书,所以我可以学到更多,但我不太清楚这类if的含义:

if(!something)
if(something)
我想:

if (something !=nil)
意味着如果某个东西不存在,对吗

谢谢:

在C中,所有不等于NULL或0的内容都被认为是真的

因此

与相同

if (!(something != nil))
if (something == nil)
因此与

if (!(something != nil))
if (something == nil)
对于Objective-C对象,nil基本上为空

所以如果某物基本上是if某物的简称!=无 如果!something基本上是if something==nil的缩写

对于非Objective-C指针,可以将nil替换为NULL。不管怎样,nil或多或少只是一种语法

还可以使用此选项检查整数是否不等于0:
因此,除非myArray为空,否则[myArray count]为真。

假设某个对象是指向NSObject的指针

if(something)
如果某个对象是非nil指针,则返回YES

if(!something)
如果某个值为零,则返回YES。在这种情况下,这是因为有些东西是零,而且!not运算符将其反转为真

ifsomething与ifsomething相同!=无但我认识的大多数程序员认为这是一种重言式,他们更喜欢较短的表达式


当我这么做的时候,你可能会看到这个写为ifnil!=某物原因是,如果您无意中编写了=而不是!=这将引发一个错误,因为您无法将值设置为nil,但如果是相反的情况,并且您错误地编写了条件,则会将某些内容的值设置为nil,这可能不是您希望执行的操作。

这是大多数基于C语言的通用语法。您需要了解的是,if语句检查paranthesis中的表达式是否为falsezero、true1或非零。所以,当你说“如果”的时候,你基本上是在问是否要检查它是:1。布尔表达式为true或False;2.算术表达式为零或非零;3.指针、字符串等的空地址或有效地址

现在你需要记住的是!运算符用于对表达式求反,即结果中每0位按位更改为1,反之亦然。所以,基本上你要检查结果的负数是真的还是非零


简言之,如果希望在某些内容为真或非零时执行代码段,则使用ifsomething。你用if!当某些内容为false或零时,希望代码段执行某些内容。

大多数编程语言都有布尔数据类型:谢谢!:这两个都很有用!谢天谢地,最近叮当声提醒你注意后者