黑马程序员技术交流社区
标题:
请交一下"@property "的用法
[打印本页]
作者:
陈志辉
时间:
2014-3-21 14:39
标题:
请交一下"@property "的用法
本帖最后由 陈志辉 于 2014-3-24 14:46 编辑
请问一下什么时候使用"@property "?
作者:
氯化钾
时间:
2014-3-21 14:44
按照老师视频中讲的 我的理解就是 取代了成员变量 和 setter getter 方法了 确实好用啊 昨天也刚刚学到这
作者:
lixiangzhou
时间:
2014-3-21 15:33
在对象声明变量的时候使用
@property int age;
此时的@property会做3件事:
1、生成private int _age
2、生成age的setter和getter的声明
3、生成age的setter和getter的实现
作者:
apple_victor
时间:
2014-3-21 15:51
@property与@synthesize配对使用
主要 功能是让编译器自动编写一个与数据成员同名的方法声明来省去读写方法的声明;
例如:在头文件中(.h)
@property int count;
等效于在头文件中声明2个方法:
-(int)count;
-(void)setCount:(int)newCount;
在实现文件中(.m)
@synthesize count;
等效于在实现文件中(.m)中实现2个方法
-(int)count
{}
-(void)setCount:(int)newCount
{}
利用此关键字只是简化了编码人员的输入。
另外在xcode 4.4以后,只需要在.h文件中声明
@property int count;
就可以了,不需要在.m文件中声明
@synthesize count; 了
作者:
meegor
时间:
2014-3-21 16:07
简单点儿说,就是@property 决定getter setter的名称,@synthesize决定 getter setter 访问的成员
@property int age; getter 是 -age, setter 是 -setAge: 访问的是 _age成员变量,如果_age没有自定义,则自动声明为 @private 属性
@property int age; @synthesize age 或者 @synthesize age = age; 访问的是 age成员变量,如果 age没有自定义,则自动声明为 @private 属性
@property int age; @synthesize age = _age; 访问的是 _age成员变量,如果_age没有自定义,则自动声明为 @private 属性
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2