一、 @property 关键字及其使用
它是用来让xcode在 .h 文件中自动声明 get和set 方法的。
例如:@property int ;
编译时自动扩展成下面两句:
- (void)setAge:(int)age;
- (int)age;
主要的参数分为三类:
1)读写属性:readwrite/readonly;(生成get和set方法/只生成get方法)
2) setter处理:assign/retain/copy;(默认策略直接赋值/先release原来的值,再retain新值/
先release然来的值,将新的值copy一遍。)
3)原子性:atomic/nonatomic;(默认atomic,提供多线程的安全/禁止多线程)
二、@synthesize关键字及其使用
@synthesize关键字帮助生成成员变量的setter和getter方法的实现。
语法:@synthesize age=_age;
相当于下面的代码:
- (void)setAge:(int)age
{
_age=age;
}
- (int)age
{
Return _age;
}
三、xcode6.1的版本下
1) 如果。h文件用@property声明,编译时可自动生成私有变量和与之对应的方法;
2)如果 。m文件用@synthesize实现方法,编译时可自动生成与之对应的声明和成员变量;
3)如果。h文件已用@property进行声明,。m文件既可手动实现,也可用@synthesize实现;
4)如果。h文件手动声明,既可调用@synthesize也可手动实现。