在ios中,属性是一个容易忽视但又非常重要的点。
往往在编程开发中@property跟@synthesize是一起出现的,而在Xcode4.5后,由于优化的缘故@synthesize可以省略。
默认属性-->
1、atomic:该属性是保证程序在多线程的情况下编译器自动生成互斥的加锁来决解变量读写不同步的问题。
2、readwrite:该属性会自动为你生成存储器即可以理解为getter setter方法。(控制成员变量的访问权限)
3、assign:setter方法直接赋值,不进行retain操作(对基础数据类型和C数据类型)。
非默认属性-->
1、nonatomic:该属性了在程序无需多线程的情况下进行设置,可提高程序的运行效率。
2、readonly:该属性只生成getter方法。(控制成员变量的访问权限)
3、retain:释放旧对象,将旧对象的赋值给新对象。(对其他NSObject喝其子类)
copy:与retain的流程类似。(对NSString类型)
4、strong:强引用,其存亡决定所指对象的存亡。
5、weak:弱引用,不决定对象的存亡。
6、getter:用来指定get方法的方法名。
7、setter:用来指定set方法的方法名。