Отредактировано, чтобы предложить более вероятное решение на основе комментариев к этому ответу
Предполагая, что вы добавляете представление входа в систему в качестве модального viewController, вам необходимо обновлять таблицу после каждого дополнительного входа в систему. В вашем viewWillAppear
методе перезагрузите ваш tableView:
[tableView reloadData];
Или, если вашей таблице требуется некоторое время для перезагрузки, вы можете отправить уведомление viewController для перезагрузки tableView из представления входа в систему, прежде чем вы отклоните его.
В настоящее время невидимые виды могут быть выгружены по желанию ОС, если объем памяти будет ограничен. Распространенной ошибкой разработки iOS является допущение, что код в методах viewDidLoad
и viewDidUnload
viewController будет вызываться только тогда, когда представление сначала загружается, а затем выгружается. Убедитесь, что ваш метод viewDidLoad
не делает никаких предположений о доступности данных и что ваш метод viewDidUnload
не случайно удаляет данные, которые понадобятся вновь вызванному viewDidLoad
.
Точно так же убедитесь, что ваш метод viewWillAppear
не заблокирован чем-то в вашем методе viewDidUnload
.
Наконец, и в том же духе, поймите, что если ваш взгляд сбрасывается ОС из соображений памяти, он иногда будет вызывать ваш viewDidUnload
метод, когда он очищает его, но иногда кажется, что не вызывает его, возможно потому память, используемая представлением, была настолько велика, что из-за невозможности очистить его в методе didReceiveMemoryWarning
было решено просто немедленно и полностью сбросить представление, не позволяя ему самоочищаться.