IOS中nil/Nil/NULL的区别
2015-09-01 16:13
399 查看
nil:指向oc中对象的空指针
Nil:指向oc中类的空指针
NULL:指向其他类型的空指针,如一个c类型的内存指针
NSNull:在集合对象中,表示空值的对象
[NSNull null]通常作为占位符作用
举例:
NSURL *url = nil;
Class class = Nil;
int *pointerInt = NULL;
NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], [NSNull null], [[NSObject alloc] init], [[NSObject alloc] init], nil];
为什么上面的array里面的空对象不直接用nil?
如果用nil,就会变成NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil, [[NSObject alloc] init], [[NSObject alloc] init], nil];,那么数组到第二个位置就会结束。打印[array count]的话会显示1而不是4
所以[NSNull null]通常可以作为一个数组的占位符,从而是数组的count计算准确
Nil:指向oc中类的空指针
NULL:指向其他类型的空指针,如一个c类型的内存指针
NSNull:在集合对象中,表示空值的对象
[NSNull null]通常作为占位符作用
举例:
NSURL *url = nil;
Class class = Nil;
int *pointerInt = NULL;
NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], [NSNull null], [[NSObject alloc] init], [[NSObject alloc] init], nil];
为什么上面的array里面的空对象不直接用nil?
如果用nil,就会变成NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil, [[NSObject alloc] init], [[NSObject alloc] init], nil];,那么数组到第二个位置就会结束。打印[array count]的话会显示1而不是4
所以[NSNull null]通常可以作为一个数组的占位符,从而是数组的count计算准确
相关文章推荐
- iOS-Quartz2D绘图的基础用法总结
- iOS中socket的使用
- iOS 设置导航栏 Navigationbar相关信息
- IOS-添加分段控件SegmentControl
- IOS时间与日期处理
- iOS读取本地txt文件为乱码的解决方法
- iOS 软件中所有动画突然不能正常显示(系统自带的动画也成了一闪而过)
- ios 用NSUserDefaults做本地化搜索记录
- 苹果开发 笔记(68)MBProgressHUD
- iOS开发日记13-原生二维码的扫描和生成
- iOS GCD使用指南
- iOS中的round/ceil/floorf函数略解
- [iOS] iOS开发埋坑之路(一)
- 【IOS开发】实时显示摄像头内容
- TUTK p2p视频流H.264 iOS平台解码成功
- ios与js 交互
- ios开发职工常常遇到的问题
- IOS initWithNibName 和 loadNibNamed的区别
- IOS获取文件路径的方法
- iOS开发支付宝支付,如何判断手机上面是否有安装支付宝软件