Архитектура приложения Cocoa Touch - контроллер MVC? - PullRequest
2 голосов
/ 29 мая 2009

Я новичок в какао и программировании на iPhone.

Я использую шаблон Xcode Utility Application для реализации простого приложения, которое имеет:

  • представление с текстовым полем для сбора имени пользователя
  • представление с помощью кнопки подключения , чтобы начать подключение к удаленному сайту с помощью имя пользователя, чтобы получить некоторые данные через HTTP. Данные будут представлены в виде текстовой строки на экране.

Я думаю, что это представляет мой VIEW в шаблоне MVC.

Я создал простой класс для хранения имени пользователя и всей работы по подключению, представляющей мою МОДЕЛЬ , и создал его в AppDelegate.

Вот действительно упрощенный набросок:

simplified sketch

Мне не совсем понятно, как я могу поместить данные, вложенные глубоко в подпредставления (имя пользователя), или как я могу инициировать действия во вложенных родительских представлениях (кнопка подключения).

Мой вопрос:

Каков наилучший / самый чистый способ реализации этой архитектуры?

Как реализовать CONTROLLER ?

Заранее спасибо за любую помощь,
Полл

1 Ответ

2 голосов
/ 29 мая 2009

Обновление моего ответа на основе комментария:

В большинстве случаев нормально иметь состояние в вашем контроллере. Как массив или экземпляр любого объекта modelobject, для которого вы пишете приложение.

Я бы сохранил объект модели чистым от любого сетевого кода и поместил бы его в контроллер вместо этого. В этом случае ViewController, где запускается это действие подключения.

Оригинальный ответ:

Мне не совсем понятно, как я могу получить данные, вложенные глубоко в подпредставления (имя пользователя) или как я могу инициировать действия во вложенном родительском элементе просмотры (кнопка подключения).

С шаблоном приложения утилиты у вас уже есть пара ViewControllers.

Чтобы получить ссылки на ваш пользовательский интерфейс внутри контроллеров, вам нужно объявить IBOutlets и подключить их внутри Interface Builder. Чтобы реагировать на действия, вам нужно объявить и реализовать IBActions в ваших ViewControllers, а также подключить их в Интерфейсном Разработчике. Что вы делаете на панели соединений (2-й слева) в инспекторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...