2011-01-14 4 views
2

У меня есть представление таблицы, которое содержит список объектов проекта. Когда элемент выбран, он отображает подробный вид. Довольно стандартный. Каков наилучший способ реализовать функциональность «добавить» (всплывает модальный контроллер представления для ввода новых значений и сохранения элемента)?Лучший способ создания контроллера «Добавить»

В настоящее время у меня есть контроллеры представлений для моего корневого представления, подробного просмотра и добавления вида. По сути, просмотр подробного представления и добавления выглядит точно так же, за исключением сохранения кнопки отмены & в окне добавления. Можно ли повторно использовать подробный вид в окне добавления?

Наконец, что является лучшим способом отображения списка свойств проекта в сгруппированном виде таблицы, разделенных на разделы?

Благодарим за ответы.

ответ

1

Скорее всего, вы уже передаете вашему контроллеру подробного представления управляемый объект, который он должен отображать при подробном режиме просмотра. Когда пользователь решает добавить новый проект, просто создайте пустой объект, передайте его контроллеру детали и отобразите его. (Возможно, вы захотите вставить этот пустой объект в другой «пустой» контекст управляемых объектов в случае, если пользователь отменяет процесс добавления, чтобы избежать необходимости очищать свой основной контекст управляемых объектов в этом случае.)

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

0

Похоже, вы ищете UINavigationController. UINavigationController позволяет вам нажимать новые контроллеры представлений поверх существующих. Это дает вам панель навигации вверху, которая позволит пользователю вернуться к корневому контроллеру. Я думаю, что это контроллер, который Apple использует в приложении электронной почты по умолчанию, чтобы дать вам пример.

Относительно организации: вы проектируете свой контроллер корневого представления и контроллер представления детали/добавления. В делетете приложения вы присоедините UINavigationController к окну и установите его корневой контроллер на главный контроллер, который вы хотите отобразить. Этот корневой контроллер может затем вставить контроллер добавления/детали в стек (и когда он это сделает, он может указать контроллеру добавления/подробностей, какие типы кнопок будут отображаться.)

Я не могу ответить на ваш вопрос сгруппированных свойств , но это звучит как отдельный вопрос.