在同一视图上有多个NSFetchRequestControllers是一个问题吗?我在1个视图中有4个表,需要4个控制器 - 我将不得不使用标签来区分表格 - 我只是对最佳实践感到好奇。
答案 0 :(得分:1)
我认为这没有任何问题。假设每个表后面的数据不是非常密切相关,那么无论如何你最终会得到4个独立的数据结构(以缓存多个提取的结果)。可能有用的一件事是为每个表分别设置dataSource
,但共享delegate
。这样,您可以处理共享委托中的视图逻辑,例如在选择单元格时推送新的视图控制器。只是一个想法。
答案 1 :(得分:0)
只要您使用单独的控制器实例,然后根据要填充的表设置fetchResultsController,这应该没问题。
我有一个视图控制器,它在两个单独的选项卡上实例化,以不同的方式显示相同的数据集。我只是测试在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
}