NSPredicate 与关系 @"SELF.<relationship>.<relationship>.<object> == %@"

Posted

技术标签:

【中文标题】NSPredicate 与关系 @"SELF.<relationship>.<relationship>.<object> == %@"【英文标题】:NSPredicate with relationship @"SELF.<relationship>.<relationship>.<object> == %@" 【发布时间】:2012-10-20 22:32:08 【问题描述】:

我有以下NSManagedObjects

Product <<->> ProductAttribute <->> ProductAttributeOption

使用 NSPredicate 获取基于产品的ProductAttributeOptions 的正确方法是什么?

我尝试了以下方法,但没有运气:

[NSPredicate predicateWithFormat:@"ANY SELF.productAttribute.products MATCHES %@", product]

[NSPredicate predicateWithFormat:@"ANY SELF.productAttribute@distinctUnionOfSets.products MATCHES %@"", product]

[NSPredicate predicateWithFormat:@"ANY SELF.productAttribute.@distinctUnionOfSets.giftProducts LIKE[cd] %@", self.giftProduct]

有什么建议吗?谢谢!

【问题讨论】:

【参考方案1】:

以下谓词应该有效:

[NSPredicate predicateWithFormat:@"ANY productAttribute.products = %@", product];

“MATCH”和“LIKE”用于匹配字符串的谓词。

【讨论】:

快到了,我最终得到了[NSPredicate predicateWithFormat:@"ANY SELF.productAttribute.products = %@", product] 但它让我走上了正确的道路:) 谢谢! @runmad:我原以为这两个版本(有或没有SELF)都可以处理获取请求。但无论如何,我很高兴它有所帮助。

以上是关于NSPredicate 与关系 @"SELF.<relationship>.<relationship>.<object> == %@"的主要内容,如果未能解决你的问题,请参考以下文章

iOS:“@count == 0”的 NSPredicate 用于一对一和一对多关系

MacOS:NSPredicate 查找“一对一”关系不为零的位置

NSPredicate 与关系

NSFetchResultsController w/ NSPredicate(关系)与基本 NSFetchRequest(包括图片)

NSPredicate 与 AND 在一对多关系中

NSPredicate:与日期iOS的to-Many关系