Это разумный дизайн приложения? - PullRequest
1 голос
/ 28 июля 2010

После долгих чтений и множества уроков я сейчас пытаюсь написать свое первое приложение для iPhone, но уже начинаю сталкиваться с трудностями, поэтому хочу вернуться к основам и спросить, правильно ли я понял фундаментальный дизайн пользовательского интерфейса:

  • MainWindow.xib имеет TabBarController.TabBarController содержит 3 NavigationController, каждый из которых содержит подклассный UIViewController (скажем, VC1, VC2 и VC3)

Пока что это просто и охватывается многими учебными пособиями.Но теперь мое собственное мышление вступает во владение, и моя неопределенность увеличивается:

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

Так почему же TabBarController не содержит 2 UIViewController и 1 UITableViewController, вы можете спросить меня.Ну, потому что:

  • Я также хочу позволить пользователю переключаться между двумя «типами» данных (хорошее сравнение будет «Email In» и «Email Out»)
  • Пользователь также должен иметь возможность фильтровать список (например, Новый, Помеченный, Из xyz и т. Д.)

Итак, я решил, что мне нужна панель инструментов.

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

Поэтому VC2 загружает VC2.xib, который содержит следующее:

  • Представление (содержащее панель инструментов)
  • Подклассированный UITableViewController (для отображения данных моего списка)
  • Подклассированный UIViewController (для отображения настроекстр.)

  • Я, конечно, затем использую insertSubview , чтобы адаптировать содержимое представления в соответствии с параметрами на Панели инструментов

Все это звучит разумно или, возможно, в моем мышлении естьлучший способ удовлетворить мои потребности?

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

Заранее спасибо.

1 Ответ

0 голосов
/ 28 июля 2010

Вот мое мышление. Дизайн выглядит довольно хорошо. Просто несколько вещей, которые я мог бы сделать по-другому.

  1. Для переключения между 2 различными типами данных

Я не знаю, как именно вы намеревались это сделать, но вы можете определить 1 UITableViewController и 2 разных источника данных, а затем переключаться между ними вместо определения 2 разных UITableViewController с.

  1. Кнопка настроек

Вместо того, чтобы создавать и загружать совершенно новую UIViewController для страницы настроек, вы можете просто вызвать UIPickerView. Затем для адаптации содержимого представления вы звоните [tableview reloadData]

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