Я пытаюсь понять, как лучше реализовать шаблон проектирования модель-представление-контроллер.
Какой объект должен «владеть» объектом модели? Должен ли один контроллер создавать экземпляр (владеть) объектом модели?
Вот пример сценария:
У меня есть UITabbarController, содержащий два UIViewController (controllerA и controllerB). Очевидно, что ни один из этих контроллеров не владеет друг другом. У меня есть объект модели, который содержит некоторые данные, а также выполняет некоторую сетевую активность. Как controllerA, так и controllerB должны иметь возможность вносить изменения в объект Model. ControllerB должен знать, когда были внесены изменения в объект Model (либо контроллером A, либо возвращенными результатами сетевой активности). Из недавнего чтения:
В основном, есть ли другой способ для двух контроллеров получить доступ (записать) к одной модели, кроме как через модель, являющуюся синглтоном ?
Кроме того, когда Контроллер владеет другим Контроллером (например, в UINavigationController, когда корневой контроллер представления создает экземпляр другого контроллера представления, чтобы складывать его поверх себя), лучшим способом для совместного использования модели будет создание экземпляра контроллера корневого представления модель и передать ее следующему контроллеру представления, прежде чем помещать ее в стек навигации)?