黑马程序员技术交流社区

标题: OC的get、set学习 [打印本页]

作者: 冰点    时间: 2014-11-14 16:39
标题: OC的get、set学习
getset方法命名规范:
set:以set开头,成员变量大写
· 如果是基本数据类型,直接赋值就行;
· 如果是OC对象类型:
If(_car!=car){//不写会报野指针错误
[_car release];//不写会内存溢出
[_car retain];
}
get:与成员变量同名
注:并不是所有的成员变量都需要get、set方法,对应那些只读、只写的变量,不一定要提供
自动生成set、get方法:@property、@synthesize
声明时:通过 @property int size(size 是去掉成员变量的_);自动生成成员变量_size 的get、set方法
- (void)setSize:(int)size;
- (int)size;
实现:@synthesize size=_size :自动生成property为size的实现(get、set),并且会访问成员变量_size;如果不存在会自动在.m文件中生成私有的_size(成员变量不用写啦!)。 实际是,@synthesize size=_size 也不用写啦,@property 会把@synthesize size=_size也做啦,它会默认访问以_开头的成员变量(如果没有,创建)!(Xcode4.4后)
- (void)setSize:(int)size{
_size=size;
}
- (int)size{
Return _size;
}
注:@synthesize size;默认会访问成员变量size,如果没有成员变量size,Xcode会自动生成私有的成员变量size
如果get、set方法自己有,会访问自己的;如果全有,不会帮你生成_size了。


作者: 董帅军    时间: 2014-11-14 17:00
楼主走到那个阶段了啊
作者: 冰点    时间: 2014-11-14 17:05
董帅军 发表于 2014-11-14 17:00
楼主走到那个阶段了啊

我本来走的是第四期,后来来不及了;现在还没提交入学申请的。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2