Таким образом, чтобы начать с каждой вкладки (я полагаю, вы говорите о UITabBarController) будет свой UINavigationController-> UIViewController. Я не знаю ни одного учебника по использованию master-detail внутри вкладки, и я не делал этого лично, но для второго вопроса о контроллерах навигации внутри вашей вкладки вы бы сделали следующее:
Начните с использования шаблона вкладки с использованием раскадровки.
Внутри вашей раскадровки вы можете видеть, что у них есть два контроллера представления, и они связаны и прочее. Я бы просто удалил их, так как они не нужны.
С правой стороны вы перетащите столько контроллеров UINavigation (золотых), сколько вам нужно. При перетаскивании его должно появиться два вида: контроллер и корневой вид.
Из панели вкладок Control Control + перетащите на контроллер навигации и подключите его к контроллерам Relation-view. Сделайте это для всех навигационных контроллеров
Ваша раскадровка должна выглядеть примерно так:
Теперь у вас настроена вся структура представления. Так что теперь вам нужно создать все классы для них. Как вы упомянули, вы создадите контроллер просмотра рецептов, контроллер просмотра списка покупок ...
Установите пустые представления для использования созданных вами классов. Из каждого из этих классов вы можете перенести представления в их контроллер навигации, и он перенесет его в этот стек, и если вы переключите вкладки, вы начнете с того места, где он остановился.
Внутри каждого из этих классов должен быть NSfetchedResultsController, который будет связываться с базой данных Acore (размещенной в делегате или другом классе) и контролировать эту таблицу.
Вот отличное руководство, которое я использовал для настройки моего первого контроллера nsfetchedresults. Он проходит весь процесс от начала до конца.
http://www.raywenderlich.com/999/core-data-tutorial-how-to-use-nsfetchedresultscontroller
Я надеюсь, что это избавит вас от застрявшей фазы. дайте мне знать, если что-то неясно на установке.