cfi*_*her 8 cocoa core-data objective-c nspredicate
我真的很难理解这些3.看起来ANY和SOME做同样的事情,但我没有看到它的区别ALL.
Ami*_*wad 11
我们有一个小组列表.每个小组都有类型的成员.每个人都有一个年龄.
所有members.age> 30
意味着您将找到一个成员年龄均超过30岁的小组.您将找不到至少有一名成员年龄在30岁以下的小组.
任何members.age> 30
意味着您将找到一个至少有一名成员年龄超过30岁的团体.您将找不到所有成员年龄为30岁或以下的团体.
Group1 > 30
Amin 45 YES
Chris 29 NO
---
All NO (because Chris is too young)
Any YES (because Amin is old enough)
Group2 > 30
Amin 45 YES
Foo 35 YES
---
All YES (because all members are old enough)
Any YES (because at least one member is old enough)
Group3 > 30
Chris 29 NO
Bar 21 NO
---
All NO (because at least one member is too young)
Any NO (because all members are too young)
Run Code Online (Sandbox Code Playgroud)
使用ALL谓词可以找到Group2,因为所有成员(Amin,Foo)都匹配谓词.使用ANY谓词,您将找到两个组,因为在两个组中至少有一个成员与谓词匹配.
ALL并且ANY是基本的逻辑运算符.
ALL predicate当predicate每个项目的计算结果为true时,计算结果为true.
ANY predicate当predicate至少1个项目的计算结果为true时,计算结果为true.
请注意,您始终可以使用ANY表示所有谓词,反之亦然,例如ALL condition相当于NOT (ANY NOT(condition)).
您可以在Predicate Programming Guide,Chapter Aggregate Operations中找到更多信息
| 归档时间: |
|
| 查看次数: |
2785 次 |
| 最近记录: |