Objective c (空)和<;空>;,两者之间有什么区别?
当我尝试显示字典值的值时:Objective c (空)和<;空>;,两者之间有什么区别?,objective-c,ios,Objective C,Ios,当我尝试显示字典值的值时: NSLog(@"%@",[self.user valueForKeyPath:@"age"]); 第一次,我得到了(null),第二次我得到了 这两个结果之间有什么区别?Thanx提前。当NSLog输出(null)时,这意味着它实际上是在0x0或null中传递的 当它输出时,意味着它被传入[NSNull null] NSNull通常用于默认情况下无法存储nil的数组和其他集合中。因此,使用了一个特殊对象。您应该使用objectForKey:而不是valueForKe
NSLog(@"%@",[self.user valueForKeyPath:@"age"]);
第一次,我得到了(null)
,第二次我得到了
这两个结果之间有什么区别?Thanx提前。当
NSLog
输出(null)
时,这意味着它实际上是在0x0
或null
中传递的
当它输出
时,意味着它被传入[NSNull null]
NSNull
通常用于默认情况下无法存储nil
的数组和其他集合中。因此,使用了一个特殊对象。您应该使用objectForKey:
而不是valueForKey:
(或者更糟糕的是,valueForKeyPath:
)来访问字典内容!第一个是指定的访问器,而另外两个实际用于KVC