Mit NSSet/NSMutableSet, Filter-Objekte?

Habe ich einige Fragen/Antworten zum filtern von Objekten mithilfe von NSSet/NSMutableSet. Diesen Fällen verwenden Sie einfach den Typ von Objekten wie NSString oder int. Der folgende Code ist ein Beispiel des codes verwendet, um filter NSString Objekte:

NSSet smallArray = [[NSSet alloc] initWithObjects:@"0", @"1", @"2", nil];
NSArray bigArray = [[NSArray alloc] initWithObjects:@"0", @"1", @"4", @"5", ..., nil];
NSMutableSet *intersection = [NSMutableSet setWithArray:smallArray];
[intersection intersectSet:[NSSet setWithArray:bigArray];
NSArray *result = [NSArray arrayWithSet:intersection];

Ich bin nicht sicher, wie es funktioniert, wenn Objekte im Satz oder array-Objekt-C-class-Instanzen. Nehmen Sie die folgende Klasse als Beispiel:

@interface MyObject: NSObject {
   int id;
   NSString *name;
   NSString *city;
   ...
}

Ich bin nicht sicher, wie Sie Sie eingestellt ist intersetSet: funktioniert mit den oben Objekte des Typs. Wenn ich will intersect set smallArray von MyObject Objekte und bigArray nur durch Vergleich von id, bezweifle ich, wenn ich intersetSet: selector-Methode? Wenn nicht, nicht sicher, ob ich sollte hinzufügen, eine Methode zu MyObject Klasse so eingestellt, dass weiß, wie man Objekte vergleichen?

InformationsquelleAutor David.Chu.ca | 2010-10-19
Schreibe einen Kommentar