Пока вы используете отдельные экземпляры контроллеров, а затем настраиваете fetchResultsController в зависимости от того, какую таблицу вы заполняете, это должно быть хорошо.
У меня есть 1 контроллер представления, который создается на двух отдельных вкладках, чтобы по-разному отображать один и тот же набор данных. Я просто проверяю, какая панель вкладок выбрана в методе NSFetchedResultsController, и соответственно применяю соответствующие предикаты:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSUInteger tab = [theDelegate.tabBarController selectedIndex];
switch (tab) {
case kFeaturedTab: {
// Setup sort desc & predicates
}
case kComingSoonTab: {
// Setup alt. sort desc & predicates
}
... // Do the fetch
}