一. @property的修饰关键字
1> 控制set方法的内存管理
* retain: release旧值,retain新值(用于OC对象),要配合nonatomic使用 * assign: 直接赋值, 不做任何内存管理(默认, 用于非OC对象类型)
* copy: release旧值, copy新值(一般用于NSString *)
2> 控制是否需要生成set方法
* readwrite: 同时生成set方法和get方法(默认) * readonly: 只会生成get方法
3> 多线程管理
* atomic: 性能低(默认)
* nonatomic: 性能高(为iOS系统开发软件建议使用,为mac开发软件可以使用atomic)
4> 控制set方法和get方法的名称
* setter: 设置set方法的名称, 一定有个冒号: * getter: 设置get方法的名称
二. @class用法
* 为什么要使用@class .h @class Dog
.m #import "Dog.h"
* @class和#import的区别
* 通过@class解决循环依赖问题
三. 内存管理时的循环retain问题
* 解决办法: 一端用retain、一端用assign
** 注意: 使用了assign后, dealloc中就不需要release了
黑白世界 发表于 2015-9-22 10:34
现在就知道OC里边有好多@
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |