如果我知道,我將使用伊娃我應該分配/初始化它在viewDidLoad中,如:我應該在哪裏分配/初始化我的ivar?
if (allPeople_ == nil)
self.allPeople = [NSArray arrayWithArray:[[selectedObject people] allObjects]];
,或者我應該建立在有一個getter方法和分配/初始化:
- (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];
對於額外的問題:http://stackoverflow.com/questions/3924463/how-is-retain-setter-用合成器實現/ 3925204#3925204 – jv42
對不起,我的意思是說getter,而不是setter。 – tazboy