我在尝试实例化时遇到此不受支持的谓词错误 带有聚合谓词的NSFetchedResultsController。
我的Coredata结构如下所示:有一个PurchaseDetails实体,它有n个支付实体(一对多关系)。每个付款都有一个类型,例如,钱币,支票,其他等。现在我需要获取所有PurchaseDetails的列表,其中Payment.type = Cash。
NSPredicate看起来像这样:@"ALL payments.type = 'cash'"
我们不应该使用ALL
吗?
谓词在创建时不会崩溃而在执行获取请求时会崩溃。
但是在不使用NSFetchedResultsController
的情况下单独使用时,相同的提取请求可以正常工作。他们俩都不会一起工作?
答案 0 :(得分:0)
是的,如果付款是多对多关系,则需要使用ALL
。请注意,这意味着每个付款type
都是@"cash"
。如果您只想要至少一笔现金付款,请使用ANY
。
错误消息中的(null)
提示其他内容。您是否将谓词附加到获取请求?
另外,您是否尝试在获取的结果控制器中设置cache:nil
? FRC可能是您获得陈旧结果的原因。