Когда лучше всего вызывать [reloadData] для UITableView? viewDidAppear или viewWillAppear? Если представление выгружено, будет ли выгружаться и базовое представление таблицы?
Причина, по которой я спрашиваю, связана с некоторым поведением, которое я вижу. Допустим, представление запрашивается для перезагрузки его источника данных, но оно освобождается до того, как оно может завершиться. Сценарий будет с использованием UITabBarController и переходом к другому представлению, нежели выбранный ViewController. Итак, что происходит, так это то, что viewWillAppear вызывается, а viewDidAppear - нет (так как я ушел).
В результате ViewController освобождается (вместе с его данными модели), но если я вызываю reloadData в viewWillAppear, вызываются методы cellForRow и numberOfRows, что вызывает ошибку «deallocated instance». Имеет ли это смысл? Вы обычно вводите код, который проверяет ноль, можно ли изменить модель в любое время, когда запрашивается представление?