[转载]nil,Nil,NULL 和NSNull的小结
来源:互联网 发布:找回照片软件 编辑:程序博客网 时间:2024/06/05 16:33
看到比较好的总结,收藏在这里。原文见“http://www.cnblogs.com/csj007523/archive/2012/08/29/2662469.html”
nil:指向oc中对象的空指针
Nil:指向oc中类的空指针
NULL:指向其他类型的空指针,如一个c类型的内存指针
NSNull:在集合对象中,表示空值的对象
若obj为nil:
[obj message]将返回NO,而不是NSException
若obj为NSNull:
[obj message]将抛出异常NSException
use :
数值类对象:NSNumber,NSValue,NSNull
基本,集合,复杂,对象
可用对象封装基本数值,然后将对象放入NSArray或NSDictionary 中。
用对象封装基本数值后,即可给其发送消息。
将一个基本类型的数据包装成对象叫做装箱(boxing),从对象中取出基本数据类型叫做取消装箱(unboxing)1> NSNumber类用来包装基本的数据类型,如:int、char、BOOL、float..等各种有符号和无符号的基本数据类型;
2> NSMunber是NSValue的子类,NSValue可以包装任意一个对象,可以用NSValue将struct存到NSArray和NSDictionary中。
3> NSNull在集合中不能存放nil值,因为在NSArray和NSDictionary中nil有特殊的含义。但是在有些时候,确实需要用到这样的空值,比如在字典中,电话簿中"Jack"关键字下有电话号码、家庭住址、Email等等信息,但是现在只知道他的电话号码,这种不知道其他信息的情况下为了消除一些歧义,有必要将它们设置为空,所以Cocoa提供了NSNull
NSNull只有一个方法:null
[dictionary setObject:[NSNull null], forKey:"Email"];
if(EmailAdress == [NSNull null])
{
//to do something...
}
数值类型包括:NSNumber将基本数据类型装箱到NSArray;
NSValue 将结构装箱到NSArray,
NSNull调用null保存到NSArray。
oc不支持自动装箱
掌握nsnumber类的作用,实用方法。
掌握nsvalue类的作用,实用方法。
掌握nsnull类的作用,实用方法。- [转载]nil,Nil,NULL 和NSNull的小结
- oc中,nil,Nil,NULL 和NSNull的小结
- objective-C nil,Nil,NULL 和NSNull的小结
- objective-C nil,Nil,NULL 和NSNull的小结
- objective-C nil,Nil,NULL 和NSNull的小结
- nil, Nil, NULL和NSNull的区别
- nil、Nil、NULL和NSNull的区别
- nil、Nil、NULL和NSNull的理解
- nil,Nil,NULL和NSNull的理解
- nil、Nil、NULL和NSNull的理解
- nil、Nil、NULL和NSNull的理解
- nil、Nil、NULL和NSNull的理解
- nil、Nil、NULL和NSNull
- nil,Nil,NULL和NSNull
- nil、NULL和NSNull
- iOS之nil, Nil, NULL,null和NSNull的区别
- nil Nil NULL NSNull
- NSNULL nil NULL Nil
- android studio 给module配置git集成路径,再也不用小乌龟,再也不用sourcetree啦,速度杠杠滴
- opencv & qt study-(2)-打开video& camera
- myeclipse取消js校验
- LeetCode解题报告--ZigZag Conversion
- Python Show-Me-the-Code 第 0021题 密码加密
- [转载]nil,Nil,NULL 和NSNull的小结
- JavaScript中replace()方法使用时应该注意的几点
- 企业库一全套增删改
- Java-Fork/Join的简单例子
- iOS网络编程开发笔记1—JSON和XML数据解析
- 安卓 实现记住用户名和密码功能
- 总结SSH框架整合基础与需要的jar包
- 像写SQL一样编写Java数据应用-TinySqlDsl
- iOS NSFileHandle 基本用法介绍