NSPredicate: Поиск по NSNumber (Какао) - PullRequest
0 голосов
/ 22 июля 2010

У меня есть заявка на получение даты какао. Я добавил поле поиска и связал его. Теперь я попытался добавить некоторые предикаты, но не смог! Вот два моих вопроса:

Во-первых, предикат должен фильтровать номера NSNumbers, но я не могу создать работающий предикат. Моя попытка:

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

(keyPath представляет NSNumber, в котором хранится целое число.)

Во-вторых, я хочу иметь предикат, который выполняет поиск по двум атрибутам. Первым атрибутом является firstName, а другим - lastName. Поэтому, если пользователь вводит «John Appleseed», он получает результат, но при моих попытках я получаю только firstName или lastName.

Спасибо за вашу помощь, если есть какие-либо вопросы, задавайте их. Я не знаю, описал ли я свою проблему достаточно подробно; -)

Денис

Ответы [ 2 ]

1 голос
/ 22 июля 2010

(1) keypath==$value

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

0 голосов
/ 22 июля 2010
  1. Не создавайте NSNumber в предикате, сравните с $ value напрямую.
  2. Предикаты можно объединять в сложный предикат.Вы можете встроить его в код или использовать логические операторы (или ||, и, &&) для создания сложного предиката с форматом.

В документации Apple достаточно примеров использования предикатов, прочитайте это:http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSPredicate_Class/Reference/NSPredicate.html

...