2011-09-03 34 views
0

當我使用NSMutableDictionary時,我在iOS中有一些非常strang的行爲。 我正在使用以下代碼從應用程序委託中訪問字典。NSDictionary sigbart

self.dictTyp = appDelegate.dictTyp; 
NSLog(@"%@", dictTyp); 
NSArray *keys = [dictTyp allKeys]; 

NSLog的輸出很好,它顯示字典的內容。但在接下來的一行,當我想得到所有關鍵我得到一個無法識別的選擇器失敗。有人可以告訴我我做錯了什麼嗎?

感謝, 馬丁

+0

您確定:1.應用程序委託的dictType變量實際上是NSMutableDictionary,或NSDictionary和2. dictType到達第三行時尚未處理?需要更多的代碼... – Colin

回答

1

修改的NSLog打印出來的類型,太:

NSLog(@"%@ %@", dictTyp, [dictType class]); 

檢查dicType不是字典,而是別的東西。然後返回到您創建它的位置,並確保它實際上是作爲字典創建的,並且已妥善保留並且不會太早發佈。