Je sais que c'est une vieille question mais voici une autre possibilité, selon ce dont vous avez besoin.
Apple propose un moyen de le faire - Key-Value Coding Collection Operators.
Les opérateurs d'objet vous permettent d'agir sur une collection. Dans ce cas, vous voulez:
@distinctUnionOfObjects
L'opérateur @distinctUnionOfObjects retourne un tableau contenant les objets distincts dans la propriété spécifiée par le chemin de clé à droite de l'opérateur.
NSArray *distinctArray = [arrayWithDuplicates
valueForKeyPath:@"@distinctUnionOfObjects.name"];
Dans votre cas, cependant, vous voulez que l'objet entier. Donc, ce que vous auriez à faire est double: 1) Utilisez @distinctUnionOfArrays
à la place. Par exemple. Si vous avez ces objets personnalisés provenant d'autres collections, utilisez @distinctUnionOfArray.myCollectionOfObjects
2) Implémentez isEqual:
sur ces objets pour les renvoyer si leur.le nom de sont égaux
sont les articles dans un récipient Objective-C comme NSArray, ou C/C++ (par exemple, std :: vecteur ou un tableau C)? –
pourquoi le tag C? –
désolé retiré la balise, son objectif c tableau avec des objets personnalisés ... "nom" est l'une de ses variables membres, je veux filtrer en fonction de cette valeur "nom". –