iPhone разработка и использование отдельных файлов моделей? - PullRequest
3 голосов
/ 22 февраля 2011

Я много читал о MVC, поскольку я стремлюсь к разработке для iPhone / IOS. Однако в различных примерах файлов, которые я вижу до сих пор, я не вижу отдельных классов для модели, вида и контроллера?

Как мне конкретно увидеть MVC в действии с лучшим приложением для iPhone? Например, возможно, основанный на NavigationController и некоторых табличных представлениях и т. Д.

Например:

  • Если для каждого «контроллера пользовательского интерфейса iPhone» должна быть отдельная модель, вид и контроллер - отметив, что в разработке для iPhone имеется 1 страница == 1 контроллер пользовательского интерфейса из того, что я вижу, тогда мой вопрос эффективно ли каждому контроллеру пользовательского интерфейса иметь свой собственный файл вида и файл модели?

  • Учитывая, что Interface Builder и NIB являются важной частью, в какой степени NIB считается частью шаблона MVC? например Эффективно ли создание NIB реализует «контроллер» и «представление», оставляя ли вы создать отдельный класс (в отдельном файле) для модели?

  • Что происходит, когда у вас есть общие данные (или общая модель - например, список элементов), которые совместно используются / используются несколькими страницами приложения (например, представление списка, представление редактирования и т. Д.) - в данном случае это Мне кажется, у вас будет 1 модель, но затем повторно используйте этот экземпляр модели на отдельных страницах (это View & Controller).

Надеюсь, это имеет смысл ...

1 Ответ

2 голосов
/ 22 февраля 2011

Вы будете следовать MVC, используя объекты и инструменты в их обычном использовании.Объект UIView используется для представления данных и получения ввода (View).UIViewController отвечает на события и направляет данные туда и обратно между моделью данных и иерархией UIView (Controller).Ваша модель данных живет там, где вы хотите, иногда скомпонованная вместе с вашим подклассом UIViewController, иногда представленная в приложении как одноэлементный класс (Model).Если вы указываете свою общую модель данных как одноэлементный класс, то любой класс, который нуждается в ней, может получить к ней доступ из любой точки приложения.Поддерживая это разделение труда, ваше приложение будет иметь тенденцию быть хорошо организованным и модульным, и вы сможете поддерживать / расширять один аспект без необходимости переписывать все другие аспекты программы.

Конструктор интерфейса - это инструментдля визуального построения иерархии представления (и в некоторой степени иерархии управления) вашего приложения.

...