ios – 为UITableView部分使用一个NSManagedObject,它与行的另一个NSManagedObject的关系?

是否可以使用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;
}

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...