Ответ 1
Это зависит от того, что делает суперкласс в viewDidUnload
. Если это просто стандартный UIViewController
, либо будет делать, потому что -[UIViewController viewDidUnload]
ничего не делает.
Я хотел бы знать, есть ли разница между вызовом [super viewDidUnload] до свойств realeasing или после него.
Спасибо!
self.webView = nil;
self.fullText = nil;
[super viewDidUnload];
или
[super viewDidUnload];
self.webView = nil;
self.fullText = nil;
Это зависит от того, что делает суперкласс в viewDidUnload
. Если это просто стандартный UIViewController
, либо будет делать, потому что -[UIViewController viewDidUnload]
ничего не делает.
Я никогда не думал, что это важно, но мы просто обнаружили ошибку, в которой приложение разбилось, назвав его первым. Тенденция в моем офисе заключалась в том, чтобы называть ее последней, но шаблон Apple ставит ее первым.
Вы можете делать то, что хотите, но я всегда буду называть это последним с этого момента.
Этот вопрос не получил полного ответа. (И он впервые попал, когда я google на эту тему, поэтому полный ответ был бы полезен для меня и других.)
Если суперкласс ДОЛЖЕН что-то в viewDidUnload, то каков правильный порядок его вызова в вашем классе viewDidUnload: до или после выпуска свойств?
Для записи, похоже, консенсусом является вызов супер метода LAST:
-(void)viewDidUnload {
self.some_property = nil;
[super viewDidUnload];
}
Это имеет значение только в том случае, если надкласс вашего представления фактически что-то делает в viewDidLoad
. По умолчанию UIViewController
ничего не делает в viewDidLoad
, поэтому, если ваше представление является стандартным UIViewController
, вы можете поместить [super viewDidLoad]
в любом месте метода viewDidLoad
. Однако, если super
делает что-то в viewDidLoad
, то имеет значение, где вы помещаете [super viewDidLoad]
.
Это похоже на метод dealloc.
- (void)dealloc
{
[array release];
[super dealloc];
}
Поэтому я думаю, что мы должны называть [super viewDidUnload]
последним.