Oc语言中,属性的语法如下
@property (特性) 类型 属性名称;
Oc编译器会自动生成 :类型 _名称 这样的私有属性
属性的特性
在Oc中,属性支持很多中特性
atomic
atomic作为oc属性的默认特性,简单的理解为原子属性,就是多线程下,可以安全访问,不会有线程安全的问题。但是效率不会太好。
noatomic
noatomic是非线程安全的,可以多个线程同时去读写,性能会比atomic好,但是多线程下可能会导致一些问题。
readwrite和readonly
从字面意思就可以看出来,一个是可读写,一个是只读,readwrite
是默认值,如果设置为readonly,那么盖属性无法被赋值,只能读取。
内存管理
在早期的IOS开发中,内存管理的方式是MRC(大概意思就是手动管理内存的开辟和释放),但是IOS5之后,引入了ARC(自动释放),现在最新已经IOS14+了。所以除了面试,一般情况下不用考虑MRC了。
在ARC下,内存管理相关的几个特性有 strong weak assign copy等。
strong
是属性的默认特性,设置为strong的时候