nil:指向oc中对象的空指针
Nil:指向oc中类的空指针
NULL:指向其他类型的空指针,如一个c类型的内存指针
NSNull:在集合对象中,表示空值的对象
若obj为nil:
[obj message]将返回NO,而不是NSException
若obj为NSNull:
[obj message]将抛出异常NSException
可用对象封装基本数值,然后将对象放入NSArray或NSDictionary 中。
用对象封装基本数值后,即可给其发送消息。
将一个基本类型的数据包装成对象叫做装箱(boxing),从对象中取出基本数据类型叫做取消装箱(unboxing)1> NSNumber类用来包装基本的数据类型,如:int、char、BOOL、float..等各种有符号和无符号的基本数据类型;
2> NSMunber是NSValue的子类,NSValue可以包装任意一个对象,可以用NSValue将struct存到NSArray和NSDictionary中。
3> NSNull在集合中不能存放nil值,因为在NSArray和NSDictionary中nil有特殊的含义。但是在有些时候,确实需要用到这样的空值,比如在字典中,电话簿中"Jack"关键字下有电话号码、家庭住址、Email等等信息,但是现在只知道他的电话号码,这种不知道其他信息的情况下为了消除一些歧义,有必要将它们设置为空,所以Cocoa提供了NSNull
NSNull只有一个方法:null
[dictionary setObject:[NSNull null], forKey:"Email"];
if(EmailAdress == [NSNull null])
{
//do something...
}
数值类型包括:NSNumber将基本数据类型装箱到NSArray;
NSValue 将结构装箱到NSArray,
NSNull调用null保存到NSArray。
oc不支持自动装箱