是否可以使用NSFetchedResultsController设置UITableView,因为它是联系人组确定部分的dataSource,而Contact Group与Person的多对多关系确定每个部分的行?
所以我的数据模型看起来像这样.
Contact Group - Person - Person - Person Contact Group - Person - Person - Person
Contact Group是一个NSManagedObject,它与Person NSManagedObjects有很多关系.基本上,表格视图也应如上所示.
我正在使用MagicalRecord,如果这有所不同,这看起来是否合适?
- (NSFetchedResultsController *)fetchedResultsController { if (!_fetchedResultsController) { _fetchedResultsController = [ContactGroup fetchAllSortedBy:@"displayOrder" ascending:YES withPredicate:nil groupBy:@"SELF.contacts" delegate:self]; } return _fetchedResultsController; }
哦,我需要能够对每个部分中的联系人进行排序(并保持).
任何指导表示赞赏.如果我需要更好地澄清,请毫不犹豫地发表评论.
解决方法
我没有Magical Record的经验,但由于你主要想要Person的记录,你必须在Person上调用该方法,而不是ContactGroup:
- (NSFetchedResultsController *)fetchedResultsController { if (!_fetchedResultsController) { _fetchedResultsController = [Person fetchAllSortedBy:@"displayOrder" ascending:YES withPredicate:nil groupBy:@"contactGroup.groupName" delegate:self]; } return _fetchedResultsController; }