Приложение «Мой контрольный список» имеет различные разделы, где находится главный экран (UIViewController) с несколькими кнопками, ведущими к различным продуктам питания (овощи, фрукты и т. Д. c.). Кнопки ведут на страницу TableViewController, где вы можете добавлять элементы с помощью кнопки «+», которая модально представляет контроллер представления «Добавить элемент».
После добавления элементов в список он помещает имя элемента и UISwitch
в крайнем правом положении. Этот переключатель представляет контрольную часть контрольного списка. Тем не менее, независимо от того, в каком состоянии вы его оставите, при переходе между различными подразделами (например, переходя из Списка овощей -> Домой -> Список фруктов -> Домой -> Вернуться к списку овощей) и возвращаясь к исходному списку, все выключатели выключены.
У меня есть представление о том, что я должен делать: UserDefaults
. Моя идея состоит в том, чтобы сохранить состояние переключателя при его изменении, а затем в функции viewDidLoad
выполнить итерацию всех видимых элементов и установить состояние переключателей в их сохраненные состояния. Однако я не уверен, с чего начать эту идею.
Снимок части моей раскадровки, на которой изображен дизайн области моего списка и области добавленных элементов
Список TableViewController
связан с классом с именем MEListViewController
. Проблема здесь в том, что когда я пытаюсь создать розетку в классе ViewController, он говорит, что
Мне не разрешено устанавливать розетки на повторяющиеся объекты.
Итак, Как я могу сохранить состояние коммутаторов и сохранить их в выбранном пользователем состоянии, даже если вы перемещаетесь по разным экранам?
В настоящее время переключатели можно переключать при просмотре списка. Покиньте список и вернитесь к нему, и переключатели вернутся в состояние «ВЫКЛ» по умолчанию.