所用关键字:@property和@synthesize。二者需要配对使用。@property是在头文件的类中对setter和getter方法进行声明的,而@synthesize是在.m文件内对声明的方法进行实现的,格式如下:
@synthesize 成员名1,成员名2,,,
而在对应的.h文件中@property的使用方法如下:@property(属性参数1,属性参数2) 成员类型 成员名
而property的属性参数有atomic,nonatomic,assign,retain,copy,strong,weak等属性,具体介绍如下:
(1)atomic//默认属性
A:当一个变量声明为atomic时,意味着在多线程中只能有一个线程对它进行访问
B:当一个变量声明为atomic时,该变量为线程安全型,但是会影响访问速度。
C:当一个变量声明为atomic时,在非ARC编译环境下,需要设置访问锁保证对该变量进行正确的get/set