创建属性变量时,我们使用Property关键字:

线程控制
①nonatomic 未对变量加锁 可多方同时访问该变量 不安全但效率较高
atomic 对变量加锁,访问方只能一个个访问 较为安全但效率相对较低
内存控制(引用计数)
②Strong:强引用,声明一个非自己创建变量的所有权。
weak:弱引用,不声明所有权。
retain:与Strong类似
copy:拷贝:拷贝来的变量引用计数为1。
*除String类型外,一般的Object-C对象均使用Strong和retain。String类型变量使用copy。
*在将copy,Strong,retain修饰的属性变量赋值给其他变量时,需要调用该变量的对应的从业,Strong,retain等实例化方法,以免出现属性被释放导致内存报错
assign:修饰C语言的基本数据类型,如int bool等
访问控制

setter=:重写set方法名
getter=重写get方法名
readwrite:默认值,提供set和get方法
readonly:只提供get方法
变量权限
public:外部可以访问,子类可以继承。
protected:外部无法访问,子类可以继承。
private:外部不可以访问,子类不可以继承。
网友评论