У меня есть вопрос относительно разделения состояния модели между View Controllers.
Давайте рассмотрим пример: приложение Twitter.В ленте временной шкалы вы видите список статусов, которые загружаются из API и сериализуются как модели.И в ленте упоминаний, у вас также есть список статусов.Они также загружаются из API, сериализуются как модели, но как разные экземпляры.Если пользователь нажимает сердечную кнопку в ленте новостей, он также должен отображаться как понравившийся твит в ленте времени.Но это означает разделение состояния двух разных экземпляров модели, которые представляют одно и то же обновление состояния.
Подход, который я бы выбрал для решения этого противоречивого состояния, заключается в использовании «кэша» статусов.Я бы поместил его в модель Status как статическое свойство, например:
static var cache: Array<Status> = Array<Status>()
и использовал вспомогательные методы, чтобы всегда использовать один экземпляр для каждого сообщения, независимо от того, чтоПосмотреть контроллер они загружены / изменены.
Это анти-паттерн?Есть ли лучший способ сделать это?