【发布时间】:2012-07-25 10:53:47
【问题描述】:
我在 Core Data 中有一个像这样的数据结构......
用户
物品
类别
用户与 Item 实体有一个 toMany 关系“FavouriteItems”。 Category 与 Item 实体还有一个 toMany 关系“Items”。
用户可以从他们想要的任何类别中选择最喜欢的项目。目前我正在列出所有项目,然后在旁边显示类别。
我想做的是显示所选类别的所有用户最喜欢的项目。
即选择与类别 x 和用户 y 有关系的所有项目。
我目前正在通过一种关系(即 User.favouriteItems)获取所有项目,然后使用块谓词过滤 NSSet。
是否可以使用简单的 CoreData 谓词来做到这一点?
嗯...想一想会是这样的谓词...
[NSPredicate predicateWithFormat:@"interestedUser.id = %@ AND category.id = %@", user.id, category.id];
然后在 item 实体上运行 fetch 请求?
这行得通吗?
【问题讨论】:
-
快速更新。它不喜欢谓词中使用的多对多关系。
标签: iphone objective-c ios core-data