OC的属性与属性的特征

属性与属性的特性。 属性:为了解决每添加一个实例变量都摇摇添加一对方法的麻烦. 苹果引入了属性的概念、一个属性就代表一对方法 (setter / getter). 属性分为: 声明 和 实现 属性的声明在.h中 属性的写法 @property 类型 属性名 ; 产生方法的规则为: - (void) setName:(NSString *)name; (在.m中) 声明属性也就是声明一对方法。也就是声明 (setter / getter). 声明方法: @property NSString * name; @property int number; @property float fenshu; 属性的实现: 1.指定一个实例变量.如果.h里没有提前创建好实例变量,系统会替你创建. 2.实现所有相应的setter / getter 方法. @synthesize name = _name; // @synthesize 属性名 = _属性名; 属性的特征: @property() 作用:改变属性生成的stter / getter 的内部实现 1.读写特性: readwrite 可读可写(默认) readOnly 只读 2.原子特性(线程安全) atomic 能保证线程安全(加锁)(默认) nonatomic 不能保证线程安全(推荐) @prperty(readOnly,nonatomic)NSString * name; /特性与特性之间用逗号隔开 3.语义特性(内存特性) assign 安全不用考虑内存问题 (用于基本数据类型) @property(nonatomic,assign) int number; retain 对 对象类型管理内存(试用于所有的对象类型) copy 对实现<NSCopying>协议的对象可以试用copy 总结: 只要是对象类型都必须试用 retain / copy 字符串类型(NSString) 建议试用(copy) 点语句。
相关文章
相关标签/搜索