OC学习之@property与@synthesize理解

来源:互联网 发布:高碳钢做刀怎么样知乎 编辑:程序博客网 时间:2024/06/05 12:02

@property 与 @synthesize 是 OC2.0之后新添加的特性 自动生成类成员变量的setter与getter方法 减少代码量 去除冗余代码

@property(attribute)  ()中attribute 可填写属性包括:atomic(默认),nonatomic(与atomic相反),readwrite(默认), readonly, retain, assign, weak,strong,  copy。

atomic:意思是原子的,控制线程对变量的访问,防止多线程同时操作一个变量。是线程安全的,但相对较慢,使用较少

nonatomic:表示非原子的,可被多个线程访问,不能保证多线程情况下的安全性,但是常用


对访问器的控制:

readwrite:默认,可读写,包含了setter与getter

readonly:只读,包含getter


对内存的管理上:

assign(默认):用于值类型

retain:表示实例变量对传入操作的所有权,具体体现在setter方法中

strong:表示实利变量对传入参数的所有权关系。即强引用

weak:weak在对象被回收之后自动设置为nil

copy:copy为是实例变量保存副本


使用 @property int no :生成的成员变量是私有的

0 0
原创粉丝点击