Wie ein NSSet oder NSArray für ein Objekt mit einem bestimmten Wert für eine bestimmte Eigenschaft suchen?Wie wird ein NSSet oder NSArray nach einem Objekt mit einem bestimmten Wert für eine bestimmte Eigenschaft durchsucht?
Beispiel: Ich habe ein NSSet mit 20 Objekten und jedes Objekt hat eine type
Eigenschaft. Ich möchte das erste Objekt bekommen, das [theObject.type isEqualToString:@"standard"]
hat.
Ich erinnere mich, dass es möglich war, Prädikate irgendwie für diese Art von Sachen zu verwenden, richtig?
Funktioniert es, wenn das Objekt nicht über die ‚Art‘ Eigenschaft, aber hat ein anderes Objekt (sagen wir "Job"), und das ist "Job" mit der Eigenschaft "type"? – darksider
Ja, aber eine Klasse muss für die Schlüssel, die Sie in einem Vergleichselement verwenden möchten, mit Schlüsselwerten codiert sein. –
'indexOfObjectPassingTest' scheint aus zwei Gründen besser: (1) Sie verwenden eine tatsächliche Methode anstelle einer * Zeichenkette * (2) Sie stoppen auf dem" ersten "Element, das Sie finden - es spielt keine Rolle, dass eine Menge nicht geordnet ist, Vielleicht möchten Sie immer noch nur einen Gegenstand. –