检查具有否定运算符的对象的指针是否与将其比较为Nil相同?

时间:2016-11-09 12:08:08

标签: objective-c

我可能错误地命名,所以请纠正我。

我只是想知道这是否

if(!obj)
{
    //do something
}

与此

完全相同
if(obj == nil)
{

}

我的意思是他们都检查对象是否指向nil?

2 个答案:

答案 0 :(得分:2)

是的,这是完全一样的。 !运算符将nil以外的任何内容转为零,而nil变为1。因此,您获得的结果与nil的结果完全相同。

同样,使用if (obj)在逻辑上与if (obj != nil)相同。此约定继承自C,其中指针通常用于条件中,NULL - 使用!运算符进行检查。

答案 1 :(得分:1)

是的,它是一样的。那是对的。是的。