Один прекрасный пример того, почему вы должны использовать свойства (вы можете сделать свойства частными, как отметил TechZen), - это создание новых экземпляров в viewDidLoad.
Люди делают это постоянно, потому что он вызывается один раз за экземпляр контроллера представления. Или, как вы думаете ... в действительности из-за того, что происходит, когда ваше приложение получает предупреждение о памяти, класс viewDidLoad может вызываться несколько раз за экземпляр.
Так, например, вы можете написать код вроде:
- (void) viewDidLoad
{ myArray = [[NSMutableArray alloc] init]; }
Прекрасно работает - пока он снова не будет вызван, тогда у вас есть утечка. Вы можете освободить myArray, прежде чем назначить его на всякий случай - но проблема в том, что этот шаг легко забыть.
Если вы используете свойства для каждой переменной экземпляра, тогда ваш код выглядит следующим образом:
- (void) viewDidLoad
{ self.myArray = [NSMutableArray array]; }
Теперь вы не можете понять это неправильно. Если viewDidLoad вызывается несколько раз, старый массив освобождается, а новый заменяет его без утечки старого.