我正在尝试使用NSFetchedResultController从CoreData填充tableview。 问题是我想使用2个实体来填充NSFetchedResultController
其中一个实体称为文件夹,另一个是文档。 这些实体之间的关系在服务器端实现。
如何在一个类/ TableView中添加多个NSFetchedResultController?
或者我有更好的选择可以表达。
感谢您的帮助。
答案 0 :(得分:2)
这完全取决于您如何实施UITableViewDataSource
方法。你会失去一些细节,但这应该是可行的。
我有时会在展示两种不同的实体类型(frc =获取结果控制器),...
之间进行交换- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSInteger n = [[[self frcForTable:tableView] sections] count];
return n;
}
如果您正在混合来自获取结果控制器的结果,那么复杂性将取决于您是如何做到的。如果你把一种类型放在顶部,一种放在底部,它应该比你想要交织它们更容易。
修改:
实施数据源方法,将两个结果“混搭”在一起:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSInteger count1 = [[frc1 sections] count];
NSInteger count2 = [[frc2 sections] count];
return count1+count2;
}
当然,如果您想要一个部分,那么您将不需要上述部分,