Как у меня есть одна общая модель для всех VC в UITabBarController? - PullRequest
1 голос
/ 25 марта 2012

У меня есть UITabBarController, и все VC на вкладках используют одну и ту же модель (каждая вкладка просто отображает модель по-разному). Как мне создать эту модель и поделиться ею с другими ВК? Я инициализирую это в VC приземления (когда пользователь открывает приложение) и затем передаю это другим, используя prepareForSegue или что-то? Или есть другой способ создать «общую» модель / класс между VC в приложении?

Ответы [ 2 ]

2 голосов
/ 25 марта 2012

у вас есть 3 метода в основном.

1-й: используйте AppDelegate для хранения модели и доступа к ней с помощью:

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.model

2-й: вы можете использовать синглтон (общий экземпляр):

Учебник: http://www.galloway.me.uk/tutorials/singleton-classes/

3-й: используйте фабричный класс, который создает вашу панель вкладок, использует одну и ту же модель для всех контроллеров и возвращает ее в ваш appDelegate.

zoul сделал отличный пример проекта, чтобы проиллюстрировать, как это работает: https://github.com/zoul/Singletons-Suck

3-й мой любимый =)

0 голосов
/ 25 марта 2012

вы можете инициализировать его в AppDelegate как свойство класса и вызывать его из любого места:

MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.myModel....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...