Сбой ViewDidAppear на симуляторе iOS 5.0 - PullRequest
0 голосов
/ 17 октября 2011

Следующий код отлично работает с iOS 3.0 до симулятора iOS 4.3, но вылетает на iOS5

-(void)viewWillAppear:(BOOL)animated { 
 [self.tableView reloadData];
       [super viewWillAppear:animated];

}

-(void)viewDidAppear:(BOOL)animated { 
 [super viewDidAppear:animated];
      [self.navigationController viewDidAppear:animate];

}

Я получил exc_bad_access в [self.navigationController viewDidAppear: animate] и вызывает сбой приложения.

В предыдущей версии работает без проблем.

Это приложение разработано в XCode4 с целью развертывания 3.0.Мой пользователь только что обнаружил сбои приложения, когда он обновил свой iPhone с iOS5.Я могу воспроизвести проблему, но не знаю, как ее решить.

Кто-нибудь может пролить свет?

1 Ответ

0 голосов
/ 30 марта 2012

[self.navigationController viewDidAppear:animate]; проблема здесь. В iOS 5 он будет рекурсивно вызывать метод viewDidAppear этого контроллера представления снова и снова, пока он просто не выйдет из строя. Почему именно вам нужно вызвать viewDidAppear вручную на вашем контроллере навигации? Если на самом деле необходимо, чтобы ваш код работал, вы можете немного откатиться назад, поскольку что-то еще должно быть не так, если вам нужно это сделать.

Еще одна вещь, это просто хорошее ведение хозяйства: по вашему мнению, WillAppear, [super viewWillAppear:animated]; должен идти первым, если этот метод.

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