Search code examples
iphoneiosnsarraynsdictionary

Dictionary Value retrieve


In my application ,the dictionary value contains following content.How to retrieve the each and store it new array

   contryArray(
    {
    checka0 = Thailand;
    checka1 = Brazil;
    checka10 = Marocco;
    checka11 = Thailand;
    checka12 = Jordan;
    checka13 = Colombia;
    checka14 = Kuwait;
    checka3 = Mexico;
    checka4 = "Saoudi Arabia";
    checka5 = Chili;
    checka7 = Australia;
    checka8 = Malta;
    checka9 = "South Africa";
    checkb0 = havana;
    checkb1 = Santos;
    checkb10 = Casablanca;
    checkb11 = Bangkok;
    checkb12 = Aqaba;
    checkb13 = Havana;
    checkb14 = Shuwaikh;
    checkb3 = Veracruz;
    checkb4 = Jeddah;
    checkb5 = "San Antonio";
    checkb7 = Maersk;
    checkb8 = Maraxklokk;
    checkb9 = Durban;
    checkc0 = 1;
    checkc1 = "0.7";
    checkc10 = 1;
    checkc11 = "1.2";
    checkc12 = 1;
    checkc13 = "1.4";
    checkc14 = 1;
    checkc3 = "0.9";
    checkc4 = "0.8";
    checkc5 = "0.9";
    checkc7 = "2.7";
    checkc8 = "0.8";
    checkc9 = "0.9";
  }

For ex: checka0-checka14 in one array, Here the problem is checka2 and checka6 is not available, Im new bee in xcode,Please help me to retrieve


Solution

  • Your question is not clear. Possibly you need to get all keys in your dictionary and separating each item with specific word in it(checka/checkb/checkc).

    If that is the case then, You will get all the keys using:

    NSArray *dictKeys = [yourDictionary allKeys];
    

    You can implement this in multiple ways, one of them:

    For storing it in same array:

    for (NSString *key in [yourDictionary allKeys])
    {
        [yourArray addObject:[yourDictionary objectForKey:key]];
    }
    

    For storing it in seperate arrays:

    for (NSString *key in [yourDictionary allKeys])
    {
      if([key rangeOfString:@"checka"].location != NSNotFound)
      {
        //add checka to first array
        [yourFirstArray addObject:[yourDictionary objectForKey:key]];
      }
      else if([key rangeOfString:@"checkb"].location != NSNotFound)
      {
        //add checkb to second array
        [yourSecondArray addObject:[yourDictionary objectForKey:key]];
      }
     ...
    }