Я работаю над проектом, в котором у меня есть модель, которая используется несколькими различными представлениями и, следовательно, контроллерами представления. Эти контроллеры представления не знают о существовании друг друга и не имеют никакого отношения друг к другу. Это означает, что у меня есть модель * в каждом из контроллеров представления, и когда представления загружаются, я выделяю модель в каждом классе и указываю на нее указатели. Или кратко: я выделяю свою модель n раз в n классах, которые ее используют, что, по моему мнению, является пустой тратой памяти (не то, чтобы у меня не хватало памяти, но я думаю, что это плохая практика).
Есть ли способ в iOS, где я (при сохранении хорошей практики MVC) могу создать и использовать один и тот же экземпляр моей модели? Обычно я программировал на с ++, где передавал ссылку на модель конструктору каждого класса, который должен знать модель. Пример (c ++):
// Let to classes know of the same model object
MyModel model;
ControllerA myControllerA(&model);
ControllerB myControllerB(&model);
Вместо этого я делаю следующее в каждом классе, использующем мою модель (target-c):
// ControllerA
model = [[MyModel alloc] init];
// Controller B
model = [[MyModel alloc] init];
Я не хочу делать все модели одноэлементными объектами, и в этом конкретном проекте я думаю, что использование шаблона наблюдателя было бы излишним.
Итак, мой вопрос: как я могу достичь этого и возможно ли это вообще?