通过前面的介绍大家都知道无论在数组还是在字典中都必须以nil结尾,否则数组或字典无法判断是否这个数组或字典已经结束(与C语言中的字符串比较类似,C语言中定义字符串后面必须加一个”\0”)。但是我们有时候确实想在数据或字典中存储nil值而不是作为结束标记怎么办呢?这个时候需要使用NSNull,这个类是一个单例,只有一个null方法。简单看一下:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSNull *nl=[NSNull null];//注意这是一个对象,是一个单例,只有一个方法null创建一个对象 NSNull *nl2=[NSNull null]; NSLog(@"%i",nl==nl2);//由于是单例所以地址相等,结果:1 NSArray *array1=[NSArray arrayWithObjects:@"abc",nl,@123, nil]; NSLog(@"%@",array1); /*结果: ( abc, "<null>", 123 ) */ return 0; }