Как получить значения из nsmutabledictionary - PullRequest
1 голос
/ 24 ноября 2011

Я сохранил данные в nsmutabledictionary, ниже приведены значения словаря, которые я сохранил, и значения являются экземплярами, как мне получить значения в объекте?последний объект просматривается, и я не могу просмотреть другой объект в моем коде.Как мне получить доступ к значениям в каждом ключе словаря и значения как объект.Может кто-нибудь объяснить, что мне не хватает в приведенном выше коде.

Вот мой код

NSArray *keys;
    id key, value;

    keys = [appDelegate.viewDictionary allKeys];
    int count = [keys count];
    for (int i = 0; i < count; i++)
    {
        key = [keys objectAtIndex: i];
        value = [appDelegate.viewDictionary objectForKey: key];
        NSLog (@"Key: %@ for value: %@", key, value);
        for(Row *rs in value) {
            NSLog(@"%@", rs.user);
            //cell.textLabel.text = rs.user;
        }
    }

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Вот пример, близкий к вашему вопросу, посмотрите код на различия и посмотрите, поможет ли он.

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
      [NSArray arrayWithObjects:
       @"<Row: 0x4e50560>",
       @"<Row: 0x4e50790>",
       @"<Row: 0x4e509d0>",
       nil], @"English",

      [NSArray arrayWithObjects:
       @"<Row: 0x4e50c60>",
       @"<Row: 0x4e50ea0>",
       nil], @"Roman",

      [NSArray arrayWithObjects:
       @"<Row: 0x4e51150>",
       @"<Row: 0x4e513a0>",
       @"<Row: 0x4e515e0>",
       @"<Row: 0x4e51860>",
       nil], @"Japanese",

      [NSArray arrayWithObjects:
       @"<Row: 0x4e50140>",
       nil], @"Arab",

      nil];


for (NSString *key in dict) {
    NSArray *value = [dict objectForKey:key];
    NSLog (@"Key: %@ for value: %@", key, value);
    for(NSString *rs in value) {
        NSLog(@"%@", rs);
    }
}
0 голосов
/ 24 ноября 2011

Предоставляет ли 'allKeys' ссылку на фактический массив, содержащий объекты (ключи)? Попробуйте выделить память для вашего массива ключей:

keys = [NSArray arrayWithArray:[appDelegate.viewDictionary allKeys]];
...