2013-07-16 3 views
0

Мне нужно проверить, не является ли элемент внутри nsdictionary нормальным, а затем скопировать этот элемент в массив, который будет использоваться как мой источник данных моего UITable.Как извлечь запись в базу nsdictionary в состоянии и скопировать ее в другой массив или nsdictionary

Вот пример записи:

Trailer =  { 
     BodyDoorsCondition = Normal; 
     Breaks = Dent; 
     HandSideRails = Normal; 
     KingPinUpperPlate = Normal; 
     LandingGear = Scratches; 
     Lights = Normal; 
     MudFlaps = Normal; 
     RearEndProtection = Normal; 
     Reflectors = Normal; 
     SideSteps = Normal; 
     StripCurtains = Normal; 
     Suspension = Normal; 
     TieDowns = Normal; 
    }; 

мне нужно переместить шасси летательного аппарата в новый массив, который я могу использовать в качестве значения моего UITable.

спасибо за любые советы или помощь.

+0

шасси летательного аппарата и Breaks если быть точным. – baste

+0

Да, вы можете использовать keysOfEntriesPassingTest ref http://samplecodebank.blogspot.in/2013/05/nsdictionary-keysofentriespassingtest.html – Jageen

+0

Редактировать свой вопрос и добавить этот код; это нечитаемо как комментарий. – bbum

ответ

2

Да, вы можете использовать keysOfEntriesPassingTest

NSSet * selectedKeys = [Trailer keysOfEntriesPassingTest:^(id key, id obj, BOOL *stop) 
         { 
          return ![obj isEqualToString:@"Normal"]; 
         }]; 
+0

Я получаю обратное, и я не могу положиться! для не равных. Мне нужно захватить все, что не является нормальным, и добавить это в NSDictionary вместе со значением, если его Dent или Scratches. еще раз спасибо вам за внимание – baste

+0

@baste Я не понимаю, почему вы не можете положиться! для не равных? –

+0

где я поставил! для равных? жаль Im новичок с объективом c – baste

0

этот код работает, и я просто хочу поделиться

NSMutableDictionary *dataDict=[NSMutableDictionary dictionary]; 
      NSMutableArray *dataSource=[NSMutableArray array]; 
      NSArray *allKeys=[tractorDict allKeys]; 

      for (id key in allKeys) { 
       if ([[tractorDict objectForKey:key]isEqualToString:@"Normal"]==NO) { 
        [dataSource addObject:key]; 

        [dataDict setValue:[tractorDict objectForKey:key] forKey:key]; 

       } 

      } 
0

Я лично предпочитаю что-то вроде этого:

NSMutableArray *array = [NSMutableArray array]; 
NSDictionary *Trailer; 
[Trailer enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *obj, BOOL *stop) { 
    if (![obj isEqualToString:@"Normal"]) { 
     [array addObject:key]; 
    } 
}]; 
Смежные вопросы