iPhone: [super viewDidUnload] порядок вызова - PullRequest
23 голосов
/ 02 марта 2010

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

Спасибо!

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

или

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

Ответы [ 5 ]

12 голосов
/ 02 марта 2010

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

10 голосов
/ 31 марта 2011

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

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

6 голосов
/ 17 марта 2011

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

Если суперкласс ДЕЛАЕТ что-то в viewDidUnload, то каков правильный порядок его вызова в viewDidUnload вашего класса: до или после освобождения свойств?

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

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

2 голосов
/ 16 сентября 2011

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

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

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

2 голосов
/ 02 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...