Я довольно новичок в программировании для iPhone / ObjC, хотя у меня есть несколько лет опыта в кодировании, особенно в разработке БД.
Проект, который я выбрал в качестве своего дебюта, - это маленькое приложение, предназначенное для поддержки игры в настольную игру, где необходимо делать записи о статусе играющих фигур. Короче говоря, я хочу заменить ручку и бумагу этим приложением.
До сих пор я установил главное окно с TabBar (4 вкладки, из-за 4 игроков), каждое из которых подключено к ViewController («FirstViewC», «SeconcViewC» и т. Д.), Который снова устанавливает NavController , Затем NavController имеет TableViewController в качестве первого подпредставления, и когда элемент таблицы выбран, DetailViewController добавляется в качестве подпредставления к NavController (в didSelectRowAtIndexPath).
На данный момент у меня есть объект ("PlayingPiece") с некоторыми свойствами, которые можно изменить в DetailView.
Теперь (в конце концов) вот моя проблема.
Возвращаясь из DetailView (предоставленной ОС кнопкой «Назад» в NavBar), DetailView извлекается из стека подпредставлений (автоматически), и TableView снова становится видимым. Но по какой-то причине изменения в значениях PlayingPiece не отражаются. Когда я прокручиваю нужную ячейку из дисплея, затем возвращаю ее обратно, поскольку вызывается новая настройка ячейки, все отображается так, как нужно.
Очевидно, мне нужно вызвать какое-то «обновление» моих отображаемых ячеек таблицы (или всех их, мы говорим о 10 элементах таблицы максимум, поэтому здесь нет проблем с производительностью). Я хотел бы вызвать sth как [self.tableView reloadData], но ни «viewWillAppear», ни «viewDidAppear» не вызываются в TableViewController.
Я не знаю, есть ли что-то не так со всей моей «Иерархией контроллеров» или я просто пропускаю какой-то делегат, которого я забыл установить. Обещаю, ранее я просмотрел несколько тем на форумах, но не смог найти ни одного обсуждения, которое помогло бы мне в этом.
Если есть кто-то с таким предложением, любая помощь очень ценится - это сводит меня с ума ;-) Я использую последний SDK.
Марк