核心数据不等于谓词

时间:2014-05-01 19:34:49

标签: ios core-data

name <> myname

我觉得这个问题有点愚蠢,但我在子查询中使用上面的谓词。我希望看到名字不等于我名字的所有行。但是,不会返回名称为NULL值的行。这是正确的行为吗?

1 个答案:

答案 0 :(得分:4)

是的,这是可以预料的。请参阅&#34;谓词编程指南&#34;中的Null Values

  

比较谓词与null匹配的任何值都不匹配   (nil)或NSNull空值(即($value == nil)返回YES   如果$valuenil)   ...
  如果要匹配空值,除了其他比较之外,还必须包含特定的测试,...

这意味着,如果"name = myname" "name <> myname"name的评估为“否” 是NULL。

您可以将谓词更改为

name <> myname OR name = NULL

涵盖两种情况。