多个NSFetchRequestController在同一个视图中?

时间:2010-12-01 22:09:21

标签: iphone objective-c ipad

在同一视图上有多个NSFetchRequestControllers是一个问题吗?我在1个视图中有4个表,需要4个控制器 - 我将不得不使用标签来区分表格 - 我只是对最佳实践感到好奇。

2 个答案:

答案 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
}
相关问题