ios - 对 UITableView 部分使用一个 NSManagedObject,它与另一个 NSManagedObject 的行有关系吗?

标签 ios uitableview core-data nsfetchedresultscontroller magicalrecord

是否可以使用 NSFetchedResultsController 设置一个 UITableView,因为它是 dataSource,其中 Contact Group 决定了部分, Contact GroupPerson 的对多关系决定了每个部分的行数?

所以我的数据模型看起来像这样。

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/

相关文章:

iOS 回合制匹配,推送通知不起作用,GKTurnBasedEventListener 函数未调用

ios - 如何通过 CNMutableContact 在 ios 移动联系人中添加自定义隐藏字段?

swift - 具有最大无符号整数行数的 UITableView

ios - iOS 中带有子菜单的 TableView

ios - 在不丢失数据的情况下更新 Data Core 中的实体的最简单方法

ios - 核心数据验证 : from Objective-C to Swift

ios - SiriKit 可以用来点咖啡吗?

ios - 通过 UITableViewCell 中的 UIButton 更新模型

ios - Mac/iPhone 应用程序 - 将核心数据同步到 iCloud 和设备(使用核心数据)

ios - 台风 - child 项目