Jak przeszukiwać NSSet lub NSArray dla obiektu, który ma określoną wartość dla określonej właściwości?Jak przeszukiwać NSSet lub NSArray dla obiektu, który ma określoną wartość dla określonej właściwości?
Przykład: Posiadam NSSet z 20 obiektami, a każdy obiekt ma właściwość type
. Chcę uzyskać pierwszy obiekt, który ma [theObject.type isEqualToString:@"standard"]
.
Pamiętam, że w jakiś sposób można było używać predykatów dla tego rodzaju rzeczy, prawda?
Czy to działa, jeśli obiekt nie ma „typem” właściwość, ale ma inny obiekt (powiedzmy "zadanie"), a to jest "zadanie", które ma właściwość "typ"? – darksider
Tak, ale klasa musi być kodowaniem klucz-wartość zgodnym z kluczami, których chcesz użyć w predykacie. –
'indexOfObjectPassingTest' wydaje się być lepszy z dwóch powodów: (1) Używasz rzeczywistej metody zamiast * string * (2) Zatrzymujesz się na" pierwszym "znalezionym elemencie - nie ma znaczenia, że zestaw nie jest zamówiony, wciąż możesz chcieć tylko jednego przedmiotu. –