objective-c 中的小常识
来源:互联网 发布:mac mini 2016更新 编辑:程序博客网 时间:2024/06/06 13:57
nil,NULL,NSNULL,Nil
nil 是指向objective-c中的对象的空指针,是一个对象,在objective-c中nil对象调用方法不会crash。
Nil 是指向objective-c中的类的空指针,表示的是一个空类。
NULL 是指向任何类型的空的指针 如C/C++中的空指针,在objective-c中是一个数值
NSULL用于集合操作,在集合对象中,表示一个空值的集合对象。
self,super,id,SEL
self在objective-c中相当于c++中的this指针,是一个指向自身的对象指针,可以使用它访问自身的方法和属性。
super表示的是一个指向自己父类的对象指针,可以使用它访问父类。
id类型是objective-c中的一种通用类型的对象指针相当与C中的void *指针可以存储任何对象
SEL是selector的一个类型,表示一个方法的名字。
release和nil
release和ni常与对象指针有关,release是释放该对象指针所在的内存,而将对象设置为nil,只是表示的是该对象指针是一个空指针,不指向内存中的任何位置,所以nil不会释放内存。相反,如果只nil,不release会造成该内存地址泄露。
如果一些对象release后不设置为nil,则在使用该对象时会crash。因此我们一般的做法:先release后设置为nil。
MyObject *object=[[MyObjectalloc]init];
[object release];
object=nil;
NSLog(@"******:%@",object);
不会crash
MyObject *object=[[MyObjectalloc]init];
[object release];
NSLog(@"******:%@",object);
直接crash
- objective-c 中的小常识
- C/C++小常识
- C/C++小常识
- ios开发中的小常识
- objective-c中的一些小代码片段记录
- C/C++中的整型常识
- C/C++中的整型常识
- C/C++中的整型常识
- IE选项中的一点小常识汇总
- Objective-C中的协议使用
- objective-c中的消息转发
- C语言的几个小常识
- objective-c中的NSBundle
- Objective-C 中的BOOL
- Objective-c中的委托
- Objective-C中的数据类型
- Objective-C中的委托
- Objective-C中的SEL
- 关于unresolved external symbol __CrtDbgReportW
- oracle 10g ora-01033 ORACLE initialization or shutdown in progress
- 类图--C#关系
- 如何判断一个数是否是NaN
- User Defined Primitives Part-III (of Verilog HDL)
- objective-c 中的小常识
- eclipse解决jsp页面乱码问题
- Swift云存储技术详解:综述与概念
- 情绪版(Mood board)操作流程的新思考
- 一个java程序片段
- VC读取EXCEL文件
- 这一眨眼,8年就过去了。
- Java反射技术——字段的获取
- mysql命令大全