我可能错误地命名,所以请纠正我。
我只是想知道这是否
if(!obj)
{
//do something
}
与此
完全相同if(obj == nil)
{
}
我的意思是他们都检查对象是否指向nil?
答案 0 :(得分:2)
是的,这是完全一样的。 !
运算符将nil
以外的任何内容转为零,而nil
变为1
。因此,您获得的结果与nil
的结果完全相同。
同样,使用if (obj)
在逻辑上与if (obj != nil)
相同。此约定继承自C,其中指针通常用于条件中,NULL
- 使用!
运算符进行检查。
答案 1 :(得分:1)
是的,它是一样的。那是对的。是的。