Effective Objective-C 2.0 第7条:在对象内部尽量访问实例变量

来源:互联网 发布:淘宝退换货要求 编辑:程序博客网 时间:2024/05/16 00:31

属性获取

- (NSString*)fullName {return [NSString stringWithFormat:@"%@ %@",        self.firstName, self.lastName];}

实例变量

- (NSString*)fullName {return [NSString stringWithFormat:@"%@ %@",        _firstName, _lastName];}

惰性初始化

- (EOCPerson*)brain {    if (!_brain) {        _brain = [Brain new];    }    return _brain;}

使用哪种方式需要明白,在调用过程中是否需要对实例变量进行控制和检测,需要控制就使用属性获取,若不需要,就使用实例变量。

  • 在对象内部读取数据时,应该直接通过实例变量来读,而写入数据时,应该通过属性来写。
  • 有时候使用惰性初始化技术配置某份数据,这种情况下,需要通过属性来读取数据。
0 0