是否可以使用 NSFetchedResultsController
设置一个 UITableView
,因为它是 dataSource
,其中 Contact Group
决定了部分, Contact Group
与 Person
的对多关系决定了每个部分的行数?
所以我的数据模型看起来像这样。
Contact Group
- Person
- Person
- Person
Contact Group
- Person
- Person
- Person
Contact Group
是一个NSManagedObject
,它与Person
NSManagedObjects
有一对多的关系。基本上 TableView 也应该如上所示。
我正在使用 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;
}
关于ios - 对 UITableView 部分使用一个 NSManagedObject,它与另一个 NSManagedObject 的行有关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14554950/