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

前端之家收集整理的这篇文章主要介绍了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相关文章