【发布时间】:2011-11-04 15:35:24
【问题描述】:
如果我知道我要使用 ivar,我应该在 viewDidLoad 中分配/初始化它吗,例如:
if (allPeople_ == nil)
self.allPeople = [NSArray arrayWithArray:[[selectedObject people] allObjects]];
或者我应该在那里创建一个 getter 方法和 alloc/init:
- (Group *)allPeople {
if (allPeople_ != nil)
return allPeople_;
allPeople_ = [NSArray arrayWithArray:[[selectedObject people] allObjects]];
return allPeople_;
}
我假设带有 if 语句的 getter 方法用于延迟加载,在我的情况下我不需要这样做,因为我肯定会在整个代码中使用 self.allPeople。
额外问题:
如果我使用 getter 方法,我真的必须这样做吗?
allPeople_ = [[NSArray arrayWithArray:[[selectedObject people] allObjects]] retain];
【问题讨论】:
-
对不起,我是说getter,而不是setter。
标签: iphone initialization allocation instance-variables