本文主要是介绍NSNULL.NULL.nil的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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]];
}
for (unsigned i = 0; i < _pages; i++) {
[_viewControllers addObject:[NSNull null]];
}
ymBaseController *controller = [_viewControllers objectAtIndex:page];
if ((NSNull *)controller == [NSNull null])
if ((NSNull *)controller == [NSNull null])
{
...
}
[_viewControllers replaceObjectAtIndex:page withObject:controller];
这篇关于NSNULL.NULL.nil的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!