All 子句核心数据谓词未按预期工作
Posted
技术标签:
【中文标题】All 子句核心数据谓词未按预期工作【英文标题】:The All clause Core data Predicate does not work as expected 【发布时间】:2012-06-29 10:16:12 【问题描述】:我的核心数据模型是这样的:
实体A >实体B 实体C
现在,我想获取EntityB
的对象,其中EntityC == nil
。
我想过很多选择:
我试过的是:
ANY EntityB.EntityC == nil
虽然这不会出错,但它并没有按我的预期工作,因为它会搜索EntityA
的所有对象,即使不是nil
,它也会采用EntityA
的对象。
所以我尝试的是:
ALL Participant.ParticipantCategory == nil
但这会报错:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'不支持的谓词(空)
我也尝试过使用子查询,但没有成功。我花了几个小时试图解决它,但没有运气。
有什么想法吗?
【问题讨论】:
您可以发布您尝试过的子查询吗? 这是子查询:SUBQUERY(Participant, $part, part.ParticipantCategory == nil).@count > 0。为此,我收到此错误:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'keypath part.ParticipantCategory not found in entity我认为你的谓词应该是:Participant.ParticipantCategory == nil
ANY
关键字描述为here。我认为它的行为应该如此。而且我不知道ALL
关键字。
【讨论】:
No Luck Paul :( 我已经尝试过了。如果我这样做了,我会收到此错误:Participant.ParticipantCategory == nil: Terminating app due to unaught exception 'NSInvalidArgumentException',原因:'to-many此处不允许使用密钥”。还有其他想法吗? 如果是一对多关系。试试 Participant.ParticipantCategory.@count == 0 非常感谢保罗。有效!!不过我不知道这样的事情。 我的错,它在所有情况下都没有成功。仍在修补问题。 @PauldeLange 非常感谢!!!!这让我很头疼。我希望你能把这个作为答案发布以上是关于All 子句核心数据谓词未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章