博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS_nil、Nil、NULL、NSNull的区别
阅读量:6863 次
发布时间:2019-06-26

本文共 603 字,大约阅读时间需要 2 分钟。

nil、Nil、NULL、NSNull的区别

nil:指向一个对象的空指针

Nil:指向一个类的空指针

NULL:指向其他类型(如:基本类型、C类型)的空指针

NSNull:通常表示集合中的空值

举例:

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计算准确

转载于:https://www.cnblogs.com/zeng-/p/5103523.html

你可能感兴趣的文章
JavaScript创建对象的方法
查看>>
『ExtJS』01 009. ExtJS 4 方法重载
查看>>
Netty聊天之发送图片
查看>>
玩转java(Android)注解
查看>>
org.springframework.data.mapping.PropertyReferenceException: No property xxxx found for type Xxxx
查看>>
java基础-java反射机制
查看>>
flume的安装和部署
查看>>
centos7使用yum安装mysql
查看>>
kint 一个强大的php调试助手
查看>>
angular 之 jqLite
查看>>
工作报告 2010.12.30
查看>>
新IT运维时代 | Docker运维之最佳实践-下篇
查看>>
Python代码运行助手
查看>>
有没有一段代码,让你觉得人类的智慧也可以璀璨无比?
查看>>
Activity的4种启动模式
查看>>
OWASP Webgoat 安装和使用
查看>>
使用python爬取教程生成PDF
查看>>
Lua学习总结
查看>>
mysql 创建函数问题
查看>>
es了解集群中属性 4
查看>>