iPhone: просмотр / редактирование / список контроллеров - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть контроллер представления клиента, который является подклассом UITableViewController.У него есть список, в котором перечислены все клиенты.У меня есть кнопка + в правом верхнем углу.Я хочу сделать так, чтобы, когда люди нажимали +, он переходил на экран добавления клиента, а после нажатия кнопки «Сохранить» он будет действовать ТОЛЬКО как список контактов iphone, а затем отображать вновь добавленного клиента.

Нужно ли мнесоздать контроллер для каждого представления?Один для отображения списка, один для добавления пользователя и один для просмотра контакта, а другой для редактирования контакта?Или я должен использовать один контроллер и просто добавить несколько представлений в IB в один контроллер представления?

Ответы [ 3 ]

1 голос
/ 09 февраля 2012
  1. Создайте CustomerListController для просмотра ВСЕХ клиентов.
  2. Создание CustomerViewController для просмотра и редактирования деталей.
  3. Подкласс CustomerViewController, называющий его CustomerAddController для создания, так как для этого потребуется немного больше функциональности.

Основные рецепты данных * Приложение 1014 * даст вам несколько полезных советов по этому вопросу.

Если вы хотите, чтобы запись создавалась только после того, как вы нажали save, вам нужно:

  1. Создайте дополнительный NSManagedObjectContext, предполагая, что вы используете Core Data.
  2. Передать этот контекст экземпляру CustomerAddController класса только (не требуется для класса представления).
  3. Когда нажата кнопка Сохранить , вам необходимо объединить два NSManagedObjectContext класса в CustomerListController.
0 голосов
/ 09 февраля 2012

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

0 голосов
/ 09 февраля 2012

Я считаю, что приложение «Контакты» делает это так:

  • Список контактов - это UITableViewController в UINavigationController
  • Касание + модально представляет (из контроллера навигации) другоеконтроллер представления для добавления контакта
  • При касании «Готово» новый контроллер представления помещается на контроллер навигации для просмотра вновь созданного контакта, но он еще не виден, поскольку модально представленный контроллер представления добавления контакта находится сверху.Сразу же после этого модальный контроллер представления закрывается, открывая вновь созданный контакт.

Чтобы ответить на ваш вопрос, я бы предложил использовать три различных контроллера представления, как приложение «Контакты».

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