Quelques questions concernant le code suivant:Qu'est-ce que @implementation NSArray (Find) et l'avertissement qu'il donne?
@implementation NSArray (Find)
- (NSArray *)findAllWhereKeyPath:(NSString *)keyPath equals:(id)value {
NSMutableArray *matches = [NSMutableArray array];
for (id object in self) {
id objectValue = [object valueForKeyPath:keyPath];
if ([objectValue isEqual:value] || objectValue == value) [matches addObject:object];
}
return matches;
}
1- Qu'est-ce que (FIND) faire? J'ai vu d'autres mots comme ça quand on fait ces implémentations, alors qu'est-ce que ça fait exactement? Est-ce un mot-clé, ou juste pour moi de savoir?
2- Je suis le code d'ici: http://probablyinteractive.com/2009/2/13/keypaths.html Mais quand je place sur mon projet et appelle
NSArray *filterResults = [allResults findAllWhereKeyPath:@"firstname" equals:firstname];
renvoie l'avertissement « NSArray » ne peut pas répondre à « -findAllWhereKeyPath: est égal à: ' et si je l'exécute, il se bloque. J'ai placé le code au début du fichier .m, au format .h et l'ai modifié en NSMutableArray, mais je continue à recevoir l'avertissement. Alors, comment dois-je résoudre cela?
"Rechercher" est une catégorie que vous avez ajoutée à NSArray. Alors, où et dans quels fichiers .m et .h avez-vous ajouté ceci? Et que voulez-vous dire que vous l'avez changé en NSMutableArray? –
Cette dernière phrase indiquait simplement tout le procès et les erreurs que j'ai faites pour essayer de le faire fonctionner. – elcool