2010-07-22 4 views
0

J'ai une application Cocoa Core-Date. J'ai ajouté un champ de recherche et l'ai lié. Maintenant, j'ai essayé d'ajouter des prédicats mais j'ai échoué! Voici mes deux questions:NSPredicate: Recherche sur NSNumber (Cocoa)

D'abord, le prédicat devrait filtrer NSNumbers mais je ne peux pas construire un prédicat de travail. Mon essai:

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

(. KeyPath représente un NSNumber qui stocke un entier)

Deuxièmement, je veux avoir un prédicat qui recherche dans deux attributs. Le premier attribut est firstName et l'autre lastName. Donc, si l'utilisateur tape "John Appleseed", il obtient un résultat mais avec mes essais, je ne reçois que le prénom ou le nom de famille.

Merci pour votre aide, s'il y a des questions, demandez-leur. Je ne sais pas si je l'ai décrit assez détaillé mon problème ;-)

Dennis

Répondre

1

(1) keypath==$value

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

0
  1. Ne pas construire NSNumber dans prédicat, comparer à la valeur de $ directement.
  2. Les prédicats peuvent être combinés pour former un prédicat complexe. Vous pouvez le générer dans le code ou utiliser des opérateurs logiques (ou, ||, et, & &) pour générer un prédicat complexe avec le format.

la documentation d'Apple a suffisamment d'échantillons de prédicats en utilisant, lire: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSPredicate_Class/Reference/NSPredicate.html