2013-09-03 21 views
7

Mam tablicę niestandardowych obiektów, które zawierają niestandardowy obiekt Adres z właściwościami ulica, obszar, stan, kraj.Jak uzyskać wartości określonego klucza z tablicy niestandardowych obiektów modelu

Potrzebuję uzyskać wszystkie nazwy obszarów z tej tablicy, więc zrobiłem coś takiego.

NSMutableArray *areas = [[NSMutableArray alloc]init]; 
    for (Address *item in addresses) { 
     [areas addObject:item.area]; 
    } 

Teraz obszary zawierają wszystkie nazwy obszaru.

Czy istnieje inny sposób na uzyskanie wszystkich obszarów elementów adresowych bez pętli przez macierz adresów (jak wyżej), z wykorzystaniem predykatów lub w inny sposób.

Odpowiedz

25

No tak długo, jak obiekt jest zgodny z KVC dla właściwości obszaru następnie prosto:

NSArray *areas = [addresses valueForKey:@"area"]; 

(Jeśli chcesz areas być zmienny, jak na swój kod, a następnie trzeba będzie użyć mutableCopy w powyższym oświadczeniu).

Zobacz [NSArray valueForKey:]:

Zwraca tablicę zawierającą wyniki powołując valueForKey: using klucza na każdym z obiektów tablicowych.

+0

ya jego pracy. dziękuję trojanfoe – vamsi575kg

+0

@Gup Zanotuj ostatnią zmianę dotyczącą 'mutableCopy'. – trojanfoe

+0

NSArray * areas = [[addresses valuesForKey: @ "area"] mutableCopy]; w ten sposób można użyć mutablecopy. proszę mnie poprawić, jeśli źle – vamsi575kg

3

także Używamy mutableArrayValueForKey: metody aby uzyskać tablicę wartości odpowiadającej kluczowego

NSMutableArray *areas = [addresses mutableArrayValueForKey:@"name"]; 
+0

dziękuję ramschoudary – vamsi575kg

Powiązane problemy