Est-il possible en Objective-C de rechercher dans un tableau d'objets les propriétés de l'objet contenu si les propriétés sont de type string? Par exemple, j'ai un objet NSArray d'objets Person. Par exemple, j'ai un objet NSArray. La personne a deux propriétés, NSString * firstName et NSString * lastName. Quelle est la meilleure façon de rechercher dans le tableau pour trouver tout le monde qui correspond à «Ken» n'importe où dans les propriétés firstName OU lastName?Comment rechercher rapidement un tableau d'objets dans Objective-C
Répondre
Réponse courte: NSArray:filteredArrayUsingPredicate:
Réponse longue: Predicate Programming Guide
Vous devrez effectuer une recherche linéaire, en comparant chaque entrée du tableau pour voir si elle correspond à ce que vous cherchez.
mauvaise réponse .... (vous ne devriez pas faire, puisque vous avez NSPredicate) –
essayer quelque chose comme ceci:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"firstName==%@ OR lastName==%@",@"Ken",@"Ken"];
NSArray *results = [allPersons filteredArrayUsingPredicate:predicate];
propre. simple. THX. –
Vous pouvez simplement utiliser NSPredicate pour filtrer votre recherche de tableau de résultat réel:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.property_name contains[c] %@",stringToSearch];
filteredPendingList = [NSMutableArray arrayWithArray:[mainArr filteredArrayUsingPredicate:predicate]];
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"property_name"
ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [filteredPendingList sortedArrayUsingDescriptors:sortDescriptors];
Ainsi, vous obtiendrez le tableau trié avec le résultat filtré. nom_propriété ci-dessus est le nom de la variable à l'intérieur de votre objet sur lequel vous souhaitez effectuer votre opération de recherche. J'espère que cela vous aidera.
Vous pouvez "simplement" ... écrire 7 lignes de code! lol – tothemario
- 1. Comment rechercher rapidement un dépôt subversion?
- 2. rechercher dans un tableau
- 3. et rechercher rapidement
- 4. Comment rechercher un tableau dans Ruby?
- 5. Des idées sur Comment chercher un tableau 2D rapidement?
- 6. Delphi 6: Comment rechercher un tableau dynamique pour sous-chaîne rapidement?
- 7. Comment imprimer un tableau d'entiers dans la console rapidement?
- 8. Rechercher dans le tableau
- 9. Comment rechercher rapidement des données stockées dans un fichier XML dans un grand nombre de répertoires?
- 10. Rechercher hachage dans un tableau par valeur
- 11. Comment rechercher dans un tableau d'objets dans Ruby on Rails?
- 12. Analyseur AMF0 dans ObjectiveC
- 13. Rechercher l'index d'une valeur dans un tableau
- 14. numpy: Comment convertir un type de tableau rapidement
- 15. Java: comment déclarer un tableau et remplir rapidement ses données?
- 16. comment rechercher "n bits" dans un tableau d'octets?
- 17. Quel index varie le plus rapidement dans un tableau VB?
- 18. rechercher un tableau bidimensionnel en java
- 19. Personnalisation de writeToFile dans ObjectiveC
- 20. une fonction pour rechercher un tableau
- 21. Comment dessiner un fond rapidement dans cocos2d?
- 22. Rechercher un tableau de chaînes en Java?
- 23. Rechercher un modèle d'objet dans un tableau en C#
- 24. Combine chaîne en ObjectiveC
- 25. NSString question ObjectiveC
- 26. Puis-je placer un sélecteur ObjectiveC @ dans un NSDictionary?
- 27. Meilleure méthode pour rechercher un tableau?
- 28. Comment rechercher un tableau Perl pour une chaîne correspondante?
- 29. Rechercher si une chaîne est présente dans un tableau
- 30. Comment rechercher un tableau pour plusieurs valeurs en PHP?
J'aime votre réponse mieux que le mien. – progrmr
Cela a fonctionné très bien pour moi. Merci! – randombits