A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dawsper 中级黑马   /  2015-1-23 19:27  /  729 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Objective-c中,nil和NULL之间有什么区别呢??
网上有说:nil用于对对象进行置空操作,NULL用于指针置空操作;nil跟NULL其实一样,只是对nil对象进行方法调用不抛异常;

经过测试,下面的代码也没什么异常啊?这是为什么?

int *a = NULL;

int *b = nil;

NSError *error = nil;

NSError *error2 = NULL;

[error2 userInfor];

2 个回复

倒序浏览
nil:表示对类进行赋空值.
NULL:用于对非对象指针赋空值.
我就知道这一点,希望能帮助你.
回复 使用道具 举报
nil oc对象的字面空值,对应 id 类型的对象,或者使用 @interface 声明的 oc 对象。
Nil oc类类型的书面空值,对应 Class 类型对象。
NULL 是任意的 C 指针空值。
不知道这么说 你是否能理解。。。。。


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马