【发布时间】:2011-07-25 09:59:33
【问题描述】:
我遇到了这样的错误 -
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:-[NSCFDictionary initWithObjects:forKeys:count:]:尝试在 objects[0] (key: searched)'
然后我尝试了下面的代码
if (Obj == (id)[NSNull null]) //Obj is an id
{
NSLog(@" Obj is (id)[NSNull null]");
}
else if (Obj == nil)
{
NSLog(@"Obj is nil");
}
else if (Obj == NULL)
{
NSLog(@"Obj is NULL");
}
else
{
NSLog(@"Obj is something else");
}
searchedDict = [NSDictionary dictionaryWithObject:Obj forKey:@"searched"];
我收到的 NSLog 消息是“Obj is nil”。
但是当我在 Obj 是 NSString 并且我的应用程序由于 nil 值而终止时使用相同的上述代码时,我收到的 NSLog 消息为“Obj is (id)[NSNull null]”。
nil、NULL和[NSNULL nil]有什么区别?
是否有不同种类的 Null 值?如果是,如何通常检查这些空值?
谢谢:-)
【问题讨论】:
标签: iphone objective-c null invalidargumentexception