NSNULL.NULL.nil的区别

来源:互联网 发布:mysql不显示重复数据 编辑:程序博客网 时间:2024/05/16 04:59

  NSNULL,NULL和nil在本质上应该是一样的,NULL和nil其实就是0,但是在Objective-c中,对于像NSArray这样的类型,nil或NULL不能做为加到其中的Object,如果定义了一个NSArray,为其分配了内存,又想设置其中的内容为空,则可以用[NSNULL null返回的对对象来初始化NSArray中的内容,我的感觉有点像C语言中malloc一个内存空间,然后用memset初始化这段空间里的值为0。

_viewControllers = [[NSMutableArray alloc] init];
for (unsigned i = 0; i < _pages; i++) {
[_viewControllers addObject:[NSNull null]];
}
ymBaseController *controller = [_viewControllers objectAtIndex:page];
   
     if ((NSNull *)controller == [NSNull null]) 
    {
...
            }
    [_viewControllers replaceObjectAtIndex:page withObject:controller];
原创粉丝点击