Подтвердить что ты не робот

IPhone: [super viewDidUnload] вызывающий заказ

Я хотел бы знать, есть ли разница между вызовом [super viewDidUnload] до свойств realeasing или после него.

Спасибо!

  self.webView = nil;
  self.fullText = nil;
  [super viewDidUnload];

или

  [super viewDidUnload];
  self.webView = nil;
  self.fullText = nil;
4b9b3361

Ответ 1

Это зависит от того, что делает суперкласс в viewDidUnload. Если это просто стандартный UIViewController, либо будет делать, потому что -[UIViewController viewDidUnload] ничего не делает.

Ответ 2

Я никогда не думал, что это важно, но мы просто обнаружили ошибку, в которой приложение разбилось, назвав его первым. Тенденция в моем офисе заключалась в том, чтобы называть ее последней, но шаблон Apple ставит ее первым.

Вы можете делать то, что хотите, но я всегда буду называть это последним с этого момента.

Ответ 3

Этот вопрос не получил полного ответа. (И он впервые попал, когда я google на эту тему, поэтому полный ответ был бы полезен для меня и других.)

Если суперкласс ДОЛЖЕН что-то в viewDidUnload, то каков правильный порядок его вызова в вашем классе viewDidUnload: до или после выпуска свойств?

Для записи, похоже, консенсусом является вызов супер метода LAST:

-(void)viewDidUnload {
    self.some_property = nil;
    [super viewDidUnload];
}

Ответ 4

Это имеет значение только в том случае, если надкласс вашего представления фактически что-то делает в viewDidLoad. По умолчанию UIViewController ничего не делает в viewDidLoad, поэтому, если ваше представление является стандартным UIViewController, вы можете поместить [super viewDidLoad] в любом месте метода viewDidLoad. Однако, если super делает что-то в viewDidLoad, то имеет значение, где вы помещаете [super viewDidLoad].

Ответ 5

Это похоже на метод dealloc.

- (void)dealloc
{
    [array release];
    [super dealloc];
}

Поэтому я думаю, что мы должны называть [super viewDidUnload] последним.