NSPredicate:搜索NSNumber(Cocoa)

时间:2010-07-22 08:08:44

标签: cocoa core-data nspredicate nsnumber

我有一个Cocoa Core-Date应用程序。我添加了一个搜索字段并将其绑定。现在,我试图添加一些谓词但失败了!以下是我的两个问题:

首先,谓词应该过滤NSNumbers但我无法构建一个有效的谓词。我的尝试:

keyPath == [NSNumber numberWithInteger:[$value integerValue]]

(keyPath表示存储整数的NSNumber。)

其次,我想要一个在两个属性中搜索的谓词。第一个属性是firstName,另一个是lastName。因此,如果用户键入“John Appleseed”,他会得到一个结果但是我的尝试只会获得firstName或lastName。

感谢您的帮助,如果有任何问题请询问他们。我不知道我是否详细描述了我的问题; - )

丹尼斯

2 个答案:

答案 0 :(得分:1)

(1)keypath==$value

(2)firstName==$firstNameVar && lastName==$lastNameVar

答案 1 :(得分:0)

  1. 不要在谓词中构造NSNumber,直接与$ value比较。
  2. 可以组合谓词来制作复杂的谓词。您可以在代码中构建它,也可以使用逻辑运算符(或||,和,&&)来构建带格式的复杂谓词。
  3. Apple的文档有足够的谓词使用样本,请阅读:http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSPredicate_Class/Reference/NSPredicate.html