2010-08-19 2 views
0

Я попытался вставить NSDictionary в NSMutableDictionary. Нет ошибки, но она не будет работать, она останется пустой.Вставить NSMutableDictionary с NSDictionaries

Вот мой код:

NSMutableDictionary *einnahmen = [[NSMutableDictionary alloc] initWithCapacity:20]; 
NSArray *objects = [NSArray arrayWithObjects: 
      name, 
      [NSNumber numberWithInt: x], 
      [NSNumber numberWithInt: y], 
      [NSNumber numberWithInt: z], 
      nil]; 
NSArray *keys = [NSArray arrayWithObjects: 
        @"name", 
        @"startJahr", 
        @"zins", 
        @"entnahmefaehig", 
        nil]; 
NSDictionary *entry = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 

[einnahmen setObject:entry forKey:@"name"]; //seems not to work 

После [einnahmen setObject:entry отладчик показывает это:

alt text

+0

Ваш код ссылается на несуществующие переменные 'einnahmen' и' eintrag' в строке, которую вы говорите, не работает. Это невозможно отладить. Кроме того, «кажется, не работает» крайне неопределенно. Что происходит, что заставляет вас думать, что это не работает? Неправильно ли вставлено? Вы получили сообщение об ошибке? крах программы и перенаправлять ли компьютер пользователя на порносайт? – Chuck

+0

Предполагается, что 'einnahem' должен быть 'entry'? Даже если это так, setObject добавит новое значение в словарь; как вы знаете, что он не работает? Возможно, einnahem - это нуль? Кроме того, вы сначала используете «имя» в качестве объекта, а затем как ключ. – aepryus

+0

Вы по-прежнему не показываете, где «einnahmen» создано и доступно для проверки его содержимого. Это важно. – Chuck

ответ

2

Я решил эту проблему. Следующий код был в неправильном методе инициализации:

NSMutableDictionary *einnahmen = 
       [[NSMutableDictionary alloc] initWithCapacity:20]; 

У компилятора должна быть ошибка.

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