Если я знаю, что я собираюсь использовать ivar, я должен выделить / инициализировать его в viewDidLoad, например:
if (allPeople_ == nil)
self.allPeople = [NSArray arrayWithArray:[[selectedObject people] allObjects]];
или я должен создать метод получения и выделить / инициализировать там:
- (Group *)allPeople {
if (allPeople_ != nil)
return allPeople_;
allPeople_ = [NSArray arrayWithArray:[[selectedObject people] allObjects]];
return allPeople_;
}
Я предполагаю, что метод get с оператором if предназначен для отложенной загрузки, что в моем случае мне не нужно было бы делать, потому что я определенно использую self.allPeople в своем коде.
Дополнительный вопрос:
Если я использую метод получения, действительно ли я должен делать это таким образом?
allPeople_ = [[NSArray arrayWithArray:[[selectedObject people] allObjects]] retain];