Я играю с разработкой iOS, и я добираюсь до сцены, где хочу создать что-то помимо простого приложения. Однако я не уверен, что понимаю, как правильно разбить приложение.iOS Разбиение приложений/MVC
Для простоты представьте себе (очень) простое приложение для аудиоплеера. Допустим, есть два контроллера представлений, доступных через UITabBarController, который создавал основной класс AppDelegate.
Каждые из этих контроллеров зрения имеет следующую ответственность:
PlayerViewController - звук игрок, который играет «текущий» звуковой сэмпл, когда пользователь нажимает кнопку.
SelectorViewController - Селектор выборок, который использует UIPickerView для отображения доступных аудиокассет, чтобы пользователь мог выбрать, какой образец они хотят воспроизвести.
Пока что так хорошо. Однако я не совсем понимаю, где я должен хранить данные на доступных выборках, так что обе точки зрения могут узнать информацию о доступных выборках, запустить образец для воспроизведения и т. Д.
Как обе диспетчеры представлений должны получить доступ к этой информации о «уровне модели», создав «одноуровневый» класс «аудио-менеджер», будет разумным подходом или есть (намного, гораздо более вероятно, я угадываю), лучшее средство для решения этой проблемы, м с видом.
Любые указатели будут очень признательны.
Просто немного странно, что это единственный способ включить несколько контроллеров для доступа к тем же данным.Создайте синглтон для всех моделей, к которым нужно обращаться несколькими контроллерами, просто чувствует себя не так, по крайней мере, на данный момент. –
О, я ничего не заметил. Зачем вам нужно получить доступ ко всему хранилищу данных в режиме просмотра плеера? Он должен иметь только текущий файл, не так ли? – jv42
В этом конкретном, возможно, неправильном примере я бы этого не сделал. Тем не менее, это общая эвристика, которой я занимаюсь. –