2013-07-25 7 views
-4

У меня есть NSMutableArray, как показано ниже.Как получить данные из массива

products = (
     { 
     fullName = Fahim; 
     id = 1; 
     photoName = "family-1.png"; 
    }, 
     { 
     fullName = Nikhat; 
     id = 2; 
     photoName = "family-2.png"; 
    }, 
     { 
     fullName = Naju; 
     id = 3; 
     photoName = "family-3.png"; 
    }, 
     { 
     fullName = Dasd; 
     id = 7; 
     photoName = "family-7.png"; 
    }, 
     { 
     fullName = Galib; 
     id = 8; 
     photoName = "family-8.png"; 
    } 
) 

Теперь я хочу извлекать данные на основе идентификатора.

e.x. если я скажу, что мне нужны данные для id 8, я должен получить fullName как Galib.

Любая идея, как это сделать? Я неделя в массивах.

ответ

2

В общем случае вы можете заменить значение на% d.

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id == %d",YOUR_ID_VALUE]; 

На данный момент вы можете использовать ниже,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id == 8"]; 
NSArray *filter = [array filteredArrayUsingPredicate:predicate]; 
NSLog(@"%@",filter); 
+0

спасибо тонну ... –

+0

Я не принимал, потому что тайм-аут для принятия ответов ... –

1

Если вам нужно потянуть идентификатор, вместо этого используйте NSDictionary.

NSDictionary * products = @{ 
    @1: @{ @"fullName": @"Fahim", @"photoName":@"family-1.png"}, 
    @2: @{ @"fullName": @"Nikhat" @"photoName":@"family-2.png"} 
}; 

Это все еще не оптимальный способ сделать это ... трудно разработать, не зная ваших полных требований.

+1

Элементы массива _are_ словарей. –

+0

Пример примера кода, пожалуйста ... –

+1

@FahimParkar: Как насчет того, если _you_ введите пример кода? Это супер базовый материал. –

Смежные вопросы