2009-06-25 9 views
1

Ich möchte ein Array, das nur einzigartige Elemente enthält. Ich weiß, dass ich dies mit einem NSDictionary tun könnte, das Einzelteile mit Schlüsseln hinzufügt und dann alle Schlüssel erhält. Dies würde sicherstellen, dass das NSArray nur eindeutige Elemente enthält, aber ich denke, dass dies ein Overkill wäre und ich glaube, dass es einen einfacheren Weg dafür geben sollte, aber keinen finden kann.iPhone - Wie man eine Liste einzigartiger Artikel erstellt

Antwort

6
NSArray* uniqueArray = [[NSSet setWithArray:originalArray] allObjects]; 

Die Eindeutigkeit basiert auf der isEqual: -Methode.

+0

Sollte das nicht NSArray sein * uniqueArray = [[NSSet withWithArray: originalArray] allObjects]; – willc2

+0

+1 für die Beantwortung mit Code und keine Verknüpfung. – willc2

1

Sie können für diese NSSet für dieses

2

Verwenden NSSet oder NSMutableSet verwenden. Beachten Sie, dass die Eindeutigkeit auf der Objektadresse basiert, wenn Sie die Methode isEqual: nicht überschreiben. Es sei denn, Sie verwenden natürlich Klassen, die diese Methode implementieren (z. B. NSNumber, NSValue).

Verwandte Themen