A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fanyafangxf 中级黑马   /  2015-11-1 22:32  /  906 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 fanyafangxf 于 2015-11-1 22:43 编辑

1.@property的使用

写在声明文件中,相当于定义get、set方法声明

  1. @property int age;
  2. //相当于
  3. //-(void)setAge:(int)age;
  4. //-(int)age;
复制代码

2.@synthesize的使用

写在实现文件中相当于注释部分的代码

  1. @synthesize age;
  2. //-(void)setAge:(int)age{
  3. //    self->age=age;//@synthesize age会自动新建一个age实例变量
  4. //}
  5. //-(int)age{
  6. //    return self->age;
  7. //}
复制代码

@synthesize age=_age;//指定实例变量名,不会操作默认的变量

相当于:

  1. <font style="background-color:rgb(245, 250, 254)"><font face="Verdana, Arial, Helvetica, sans-serif"><font style="font-size: 12px">//-(void)setAge:(int)age{
  2. //    _age=age;
  3. //}
  4. //-(int)age{
  5. //    return _age;
  6. //}</font></font></font>
复制代码

xcode4.4之后,可以只使用@property而不使用@systhesize,并且不用定义带有下划线的变量

操作的是带有下划线的事例变量,如果当前类没有下划线的事例变量,则系统会帮我们生成。注意该变量是私有的(相对的,隐藏的)子类看不到

@property的增强型,在.m文件中重写get、set方法,但是不能同时重写,只能重写一个




3 个回复

倒序浏览
很厉害的样子
回复 使用道具 举报
不错不错~~~~~~
回复 使用道具 举报
总结很到位~~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马