属性获取
- (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;
}
使用哪种方式需要明白,在调用过程中是否需要对实例变量进行控制和检测,需要控制就使用属性获取,若不需要,就使用实例变量。
- 在对象内部读取数据时,应该直接通过实例变量来读,而写入数据时,应该通过属性来写。
- 有时候使用惰性初始化技术配置某份数据,这种情况下,需要通过属性来读取数据。