关于nil和 null和NSNull的区别
来源:互联网 发布:淘宝代购mk的正品店 编辑:程序博客网 时间:2024/05/22 20:49
1、nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assign NSString类型一般分配copy,而对象一般用retain。而且我们对于nil调用方法,不会产生crash或者抛出异常。
看一段
看一段
nil -> Null-pointer to objective- c object
NIL -> Null-pointer to objective- c class
null-> null pointer to primitive type or absence of data.
看一下用法
NSURL *url = nil;
Class
int *pointerInt = NULL;
nil是一个对象指针为空,Nil是一个类指针为空,NULL是基本数据类型为空。这些可以理解为nil,Nil, NULL的区别吧。
2、NSNULL,NULL和nil在本质上应该是一样的,NULL和nil其实就是0,但是在Objective-c中,对于像NSArray这样的类型,nil或NULL不能做为加到其中的Object,如果定义了一个NSArray,为其分配了内存,又想设置其中的内容为空,则可以用[NSNULL null返回的对对象来初始化NSArray中的内容,我的感觉有点像C语言中malloc一个内存空间,然后用memset初始化这段空间里的值为0。
0 0
- nil, Nil, NULL和NSNull的区别
- nil、Nil、NULL和NSNull的区别
- nil Nil null @"" 关于nil和 null和NSNull的区别及相关问题||(null) <null> nil 问题
- 关于nil和 null和NSNull的区别
- iOS之nil, Nil, NULL,null和NSNull的区别
- NIL、NIL、NULL和NSNULL区别
- nil、Nil、NULL和NSNull区别
- nil、Nil、NULL和NSNull区别
- nil、Nil、NULL和NSNull区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- Objective-c 中 nil, Nil, NULL和NSNull的区别
- 二分图最大独立集
- 微信公众帐号开发教程第17篇-应用实例之智能翻译
- 常用算法思想简介
- Android Call requires API level 11 (current min is 8)的解决方案
- poj 2311 Cutting Game sg函数
- 关于nil和 null和NSNull的区别
- appManifes
- Step by step use kali linux OS
- java文件随机读写--RandomAccessFile
- nyoj 42判断欧拉路径模板题
- HDU 4788——Hard Disk Drive
- 我们应该如何去了解JavaScript引擎的工作原理
- LinkedHashMap和HashMap的比较使用
- 云林深处,一场灵魂的宿醉