Приложение с вкладками с различным представлением таблицы основных данных на каждой вкладке с использованием основных данных - PullRequest
2 голосов
/ 08 декабря 2011

Я надеялся, что кто-нибудь сможет помочь новичку.

Я пытаюсь создать приложение для iPhone / iPad, которое использует вкладки в качестве основной навигации. Первая вкладка будет своего рода домашним экраном с базовой информацией, кнопкой обратной связи и т. Д. На остальных вкладках (3-4 вкладки) каждая должна отображать отдельный «раздел» приложения. В каждом разделе будет отображаться табличное представление и контроллер навигации (с использованием Базовые данные ). Эти табличные представления не связаны друг с другом, каждая использует разные таблицы из базы данных ( sqlite ).

Чтобы проиллюстрировать это, допустим, вкладка 1 - это главная страница приложений, вкладка 2 - список покупок, вкладка 3 - рецепты, а вкладка 4 - доступные купоны. Все они сочетаются друг с другом в приложении, но происходят из совершенно разных таблиц. Каждый контроллер навигации, который появляется на каждой вкладке, полностью отличается. Я использую его как вторичную навигацию на вкладке.

Так что мой вопрос: есть ли у кого-нибудь какие-либо учебные пособия, иллюстрирующие эту технику ? И если нет, я должен создать разные fetchedResultsController для каждой вкладки? Я запустил проект, используя шаблон приложения с вкладками, затем я создал еще один фиктивный проект с использованием шаблона основных сведений и добавил код основного описания и xibs в свой проект с вкладками. Так что теперь у меня есть вкладки, которые отображают общую сущность метки времени, которая поставляется с шаблоном основной детали, однако я не могу заставить эти вкладки отображать различные данные.

Также, как я могу создать контроллер навигации для каждого представления / вкладки таблицы? Вся документация гласит, что нужно инициализировать его внутри AppDelegate, но если я добавлю его туда, как мне получить разные контроллеры для каждой вкладки? Объявляю ли я 3-4 контроллера в делегате приложения и как их назначить каждому табличному представлению? Я нигде не видел такого примера, хотя это имеет смысл. Учебники будут высоко оценены.

Большое спасибо заранее. Я просто застрял здесь. (

1 Ответ

3 голосов
/ 09 декабря 2011

Таким образом, чтобы начать с каждой вкладки (я полагаю, вы говорите о UITabBarController) будет свой UINavigationController-> UIViewController. Я не знаю ни одного учебника по использованию master-detail внутри вкладки, и я не делал этого лично, но для второго вопроса о контроллерах навигации внутри вашей вкладки вы бы сделали следующее:

Начните с использования шаблона вкладки с использованием раскадровки.

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

С правой стороны вы перетащите столько контроллеров UINavigation (золотых), сколько вам нужно. При перетаскивании его должно появиться два вида: контроллер и корневой вид.

Из панели вкладок Control Control + перетащите на контроллер навигации и подключите его к контроллерам Relation-view. Сделайте это для всех навигационных контроллеров

Ваша раскадровка должна выглядеть примерно так: enter image description here

Теперь у вас настроена вся структура представления. Так что теперь вам нужно создать все классы для них. Как вы упомянули, вы создадите контроллер просмотра рецептов, контроллер просмотра списка покупок ...

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

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

Вот отличное руководство, которое я использовал для настройки моего первого контроллера nsfetchedresults. Он проходит весь процесс от начала до конца.

http://www.raywenderlich.com/999/core-data-tutorial-how-to-use-nsfetchedresultscontroller

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

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