黑马程序员技术交流社区

标题: OC简易set和get应用于xcode基础点,快面试的同学可不能错过.... [打印本页]

作者: 蜗牛快跑    时间: 2014-10-16 08:42
标题: OC简易set和get应用于xcode基础点,快面试的同学可不能错过....
@public     //在任何地方都能直接访问对象的成员变量。
@private    //只能在当前类的对象方法中直接访问。(@implementation中默认是@private)
@protected  //能在当前类和子类的对象方法中直接访问。(@interface中默认就是@protected)
@package:只要处在同一个框架中,就能直接访问对象的成员变量。

@interface中:
@property:可以自动生成某个成员变量的setter和getter声明。
@property int age;相当于:

- (void)setAge:(int)height;
- (int)age; 这两句。

但是@property;生成的set类是 - (void)set_Age:(int )height;
所以我们在main方法里应该调用set_age方法。

@implementation中:
@synthesize自动生成age和setter和getter实现,并且会访问_age这个成员变量。
@synthesize age = _age;

版本更新以后xcode只用@property int age就可以完成:
(1)对age的get set 声明。
(2)生成_age成员变量。 默认为@private   
(3)对age的get set 实现。
这3件事。

注意:@synthesize age;  //默认会访问age这个成员变量。

手动实现
若手动实现了getter方法,编译器就会自动生成仍getter方法
若手动实现了getter方法,编译器就会生成setter方法
若同时手动实现了setter和getter方法,编译器就会自动生成能够不存在的成员变量
作者: 蜗牛快跑    时间: 2014-10-16 08:44
表情 换成 :  




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