本帖最后由 fanyafangxf 于 2015-11-1 22:43 编辑
1.@property的使用 写在声明文件中,相当于定义get、set方法声明 - @property int age;
- //相当于
- //-(void)setAge:(int)age;
- //-(int)age;
复制代码2.@synthesize的使用 写在实现文件中相当于注释部分的代码 - @synthesize age;
- //-(void)setAge:(int)age{
- // self->age=age;//@synthesize age会自动新建一个age实例变量
- //}
- //-(int)age{
- // return self->age;
- //}
复制代码@synthesize age=_age;//指定实例变量名,不会操作默认的变量 相当于: - <font style="background-color:rgb(245, 250, 254)"><font face="Verdana, Arial, Helvetica, sans-serif"><font style="font-size: 12px">//-(void)setAge:(int)age{
- // _age=age;
- //}
- //-(int)age{
- // return _age;
- //}</font></font></font>
复制代码
xcode4.4之后,可以只使用@property而不使用@systhesize,并且不用定义带有下划线的变量 操作的是带有下划线的事例变量,如果当前类没有下划线的事例变量,则系统会帮我们生成。注意该变量是私有的(相对的,隐藏的)子类看不到 @property的增强型,在.m文件中重写get、set方法,但是不能同时重写,只能重写一个
|