我得到了这样的错误 - *终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因是:** - [NSCFDictionary initWithObjects:forKeys:数:]:尝试插入对象在[0](密钥零值:搜索)”nil,NULL和[NSNULL nil]之间有什么区别?
然后我试图下面的代码
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是零'。
但是,当我使用相同的上面的代码时,Obj是NSString和我的应用程序因为nil值终止,我得到NSLog消息为'Obj是(id)[NSNull null]'。
什么是零之间的区别,NULL和[NSNULL零]?
是否有不同类型的空值吗?如果是,如何检查这些空值通常为?
感谢:-)
可能重复[iphone + nil,null和null之间的区别](http://stackoverflow.com/questions/5908936/iphonedifference-between-nil-nil-and- null) –