------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
oc当中通过@property和 @synthesize 配对使用来自动生成变量的set和get方法,通过使用点语法可以大大减少我们程序员代码量
先来看看点语法:
方法调用 点语法
Student *stu = [Student new]; stu.age = 100;
[stu setAge:100]; int age = stu.age;
int age = [stu age];
其实点语法的本质还是方法的调用,只不过还了一种形式而已。当使用点语法时,编译器会自动展开成相应的方法
@property
1、用在@interface中
2、用来自动生成setter和getter的声明
3、用@property int age;就可以代替下面的两行
- (void)setAge:(int)age; //setter
-(int)age;//getter
@synthesize
1、用在@implemention中
2、用来自动生成setter和getter的实现
3、用@synthesize age = _age;就可以代替
-(void)setAge:(int)age
{
_age = age;
}
-(int)age
{
return _age;
}
参数可有可无, 比如:
@property int age;
@property(nonatomic,retain) UIButton* btn;
3、原子性:atomic/nonatomic
@property参数-atomic: