У меня есть главный ViewController, MainViewController
, который содержит несколько представлений наряду с TableView
.
Каждая строка (т. Е. tableViewCell
) содержит разный контент из разных источников / просмотров и c. Ряд этих строк в tableView, в свою очередь, содержит CollectionView
, называемый SettingsCollectionView
. В методе tableView
cellForRowAt
я инициализирую SettingsCollectionView
для этого tableViewCell
, а также передаю ему соответствующие данные, которые этот подкласс CollectionView
использует в качестве источника данных. Так, например:
tableView
строка 0 - содержит обобщенный c контент
tableView
строка 1 - settingsCollectionViewA : SettingsCollectionView
, а также структура OriginalDataA
tableView
строка 2 - содержит обобщенный c контент
tableView
строка 3 - settingsCollectionViewB : SettingsCollectionView
, а также структуру OriginalDataB
tableView
строка 4 - settingsCollectionViewC : SettingsCollectionView
а также структура OriginalDataC
tableView
строка 5 - содержит обобщенное c содержимое
Когда я инициализирую settingsCollectionViewA
с помощью OriginalDataA
, у меня есть установщик в этом CollectionView
, который затем устанавливает локальные данные в LocalDataA
. Это позволяет мне убедиться, что у меня есть оригинал и рабочая копия данных, основанных на изменениях, внесенных пользователем и т. Д. c. Каждый раз, когда я вызываю OriginalDataA
переменную из MainViewController
, геттер в settingsCollectionViewA
выполняет некоторую очистку данных и т.д. c. так что я могу делать то, что я хочу с ним в MainViewController
.
Эта часть работает хорошо, за исключением случаев, когда эти ячейки tableView сняты с очереди, когда они появляются снова, я возвращаю исходное состояние для этого tableViewCell
и, в свою очередь, collectionView, а не состояние, в котором пользователь оставил его.
Я понимаю, что это потому, что каждый класс SettingsCollectionView
работает со своей локальной копией OriginalDataA
, OriginalDataB
et c. и я ценю, что я могу просто обновить исходные данные , но тогда это создает другие сложности - такие как чистота текущего «автономного» кода, созданного для подкласса SettingsCollectionView
, а также сложность исходных и обновленных данных. Вот почему я застрял в лучшем подходе к программированию ...
Извинения, это может показаться базовым c вопросом, но я новичок в программировании и во всех примерах и т.д. c. Я могу найти, что все говорят в более простом сценарии ios, а не в том, что я пытаюсь сделать.
Я не включил код, потому что он содержит много другого контента и функций, которые, я думаю, просто путают концепцию, изложенную выше.
Любая помощь будет принята с благодарностью.