Лучший способ создать «Добавить» View Controller - PullRequest
2 голосов
/ 14 января 2011

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

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

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

Спасибоза ваши ответы.

Ответы [ 2 ]

1 голос
/ 14 января 2011

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

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

0 голосов
/ 15 января 2011

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

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

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

...