黑马程序员技术交流社区

标题: oc基础-内存管理2-要点总结 [打印本页]

作者: yuanlingqi    时间: 2014-11-9 17:58
标题: oc基础-内存管理2-要点总结
本帖最后由 yuanlingqi 于 2014-11-11 07:44 编辑

1.系统对象比如NSString等不需要进行release2.@property默认是assign修饰符,会自动生成get和set方法,但只是做简单的赋值;
3.@property (retain)修饰符,才会加上内存管理代码(新旧值比较,先release后retain)
   所以只要是自定义对象都要加上retain修饰符!最后记得dealloc方法里释放对象操作!
4.@property的4种修饰符
   >set方法内存管理参数,retain,assign(直接赋值),copy(release旧,copy新)
   >是否要生成set方法:readonly,readwrite默认
   >多线程管理:nonatomic线程不安全,atomic同步(默认)
   >setter和getter方法的名称:只有当bool类型才会使用getter采用is语法
5.time_t时间类型实际就是long类型
6.#import和@class的区别
1>#import是导入文件内容,@class只是告诉编译器,某个名称是一个类
2>.h文件中使用@class来声明类,.m文件中使用#import来包含类的所有内容
7.使用@class的好处:
1>避免对象互相#impor时的死循环
2>不需要导入类内容,提升编译效率
8.对象彼此引用时,一方使用assign方式,一方使用retain,避免内存泄漏;







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2