NSSet 属性为 sectionNameKeyPath 的 NSFetchedRequestController。是不是可以?

Posted

技术标签:

【中文标题】NSSet 属性为 sectionNameKeyPath 的 NSFetchedRequestController。是不是可以?【英文标题】:NSFetchedRequestController with NSSet property as sectionNameKeyPath. Is it possible?NSSet 属性为 sectionNameKeyPath 的 NSFetchedRequestController。是否可以? 【发布时间】:2011-05-17 06:07:59 【问题描述】:

假设我有 2 个实体产品和类别,它们之间存在多对多关系。我想用按类别划分的产品填充 UITableView。

我应该将哪个 sectionNameKeyPath 设置为 NSFetchedResultsController?设置 NSSet 类型的 @"categories" 没有意义。

【问题讨论】:

您找到解决方案了吗?我现在遇到了完全相同的问题。 不,兄弟!我以我自己的对象(带有 FetchedResultsController 之类的接口)结束,它为每个部分提供 NSFetchedResultsController。 【参考方案1】:

假设您的类别实体中有 categoryName 属性,我认为您的部分 keypath 可能是 @"categories.categoryName"。其中 categories 是您的 NSSet 指向 Category Entity 对象。

【讨论】:

不!它抛出异常,原因是“此处不允许使用多对多键”;

以上是关于NSSet 属性为 sectionNameKeyPath 的 NSFetchedRequestController。是不是可以?的主要内容,如果未能解决你的问题,请参考以下文章

核心数据缓存 NSSet 属性

NSManagedObject - NSSet 被删除?

如何使用核心数据的添加和删除(NSSet)访问器方法?

NSPredicate 按属性过滤核心数据关系 NSSet

使用搜索栏在 CoreData 中搜索 NSSet 属性

在Objective-C中按一个属性对自定义对象的NSSet进行排序