黑马程序员技术交流社区
标题: @property和@synthesize总结 [打印本页]
作者: fanyafangxf 时间: 2015-11-1 22:32
标题: @property和@synthesize总结
本帖最后由 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方法,但是不能同时重写,只能重写一个
作者: 遇yuan77 时间: 2015-11-2 22:31
很厉害的样子
作者: yanggangcl 时间: 2015-11-3 16:16
不错不错~~~~~~
作者: 许本亮 时间: 2015-11-3 17:27
总结很到位~~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |