2010-08-19 55 views
0

我試圖在NSMutableDictionary中插入NSDictionary's。沒有錯誤,但它不起作用,它仍然是空的。用NSDictionaries插入NSMutableDictionary

這裏是我的代碼:

[einnahmen setObject:entry
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 

後調試器顯示這樣的:

alt text

+0

你的代碼引用了不存在的變量'einnahmen'和'eintrag',你說這行不行。這是不可能調試的。另外,「似乎不工作」是非常模糊的。會發生什麼讓你認爲它不起作用?錯誤的東西是否被插入?你有錯誤嗎?程序是否會崩潰並將用戶的計算機重定向到色情網站? – Chuck 2010-08-19 20:57:35

+0

'einnahem'應該是'入口'嗎?即使如此,setObject也會爲字典添加一個新值;你怎麼知道它不工作?可能einnahem是零?另外,您最初使用'name'作爲對象,並且稍後將其作爲關鍵字。 – aepryus 2010-08-19 20:59:31

+0

你仍然不會顯示'einnahmen'在哪裏創建和訪問來檢查其內容。這是至關重要的。 – Chuck 2010-08-19 21:09:06

回答

2

我已經解決了這個問題。下面的代碼是在錯誤的初始化方法中:

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

編譯器應該顯示一個錯誤。