cellForRowAtIndexPath вызывается перед viewWillAppear iPhone SDK 3.2 plus - PullRequest
1 голос
/ 20 июля 2010

После обновления моей версии SDK я заметил, что cellForRowAtIndexPath всегда вызывается до viewWillAppear.Ранее порядок выполнения был противоположным: viewWillAppear всегда вызывался до cellForRowAtIndexPath.Поскольку логика моего приложения часто использовала viewWillAppear для инициализации объектов, которые впоследствии используются в cellForRowAtIndexPath, приложение часто дает сбой.

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

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

Вы можете просто добавить строку

[self.tableView reloadData];

в конце viewWillAppear, и ваша проблема будет исправлена ​​

1 голос
/ 02 декабря 2011

Это не "cellForRowAtIndexPath, вызываемый до viewWillAppear", это [super viewWillAppear:animated] вызовет делегата UITableView.

Я сделал ту же ошибку, и мне потребовалось много времени, чтобы найти ее.

...