2012-08-05 36 views
3

我有這樣的NSDictionary objectForKey將返回空值

123456 
{ 
    "aaa" 
    "aaav" 
} 

字典但是當我嘗試使用objectForKeyNSArray中獲取這些值,我得到nil

我正在使用的密鑰是一個字符串。

代碼:

NSArray *arr = [userdetails objectForKey:str] 

其中的UserDetails是一個NSDictionary和STR是NSString其中包含的關鍵。

+1

請在'objectForKey:'調用之前''調用'str'和'userdetails'的值,並顯示記錄器產生的細節。 – dasblinkenlight 2012-08-06 13:37:22

回答

8

NSDictionary不能包含nil對象。有兩種可能擺脫objectForKey一個nil回:

  • 你的字典本身尚未初始化,或
  • 沒有爲您指定的鍵的對象。

請確保您已經創建NSDictionary或兼容的類的實例(比如,NSMutableDictionary)和它來查詢它的關鍵賦給變量之前。然後確保有問題的密鑰包含一個對象。

+1

@ H2CO3感謝您的提示,現在已修復。編輯答案的能力是一個偉大的功能:) – dasblinkenlight 2012-08-05 19:56:08

+0

所以這裏來你的upvote :) – 2012-08-05 19:57:20

+2

嗨謝謝你的答案,但是當我使用allkey我得到了我的數組中的密鑰,但是當我用它來找到對象我我正在得到零。 – xxx 2012-08-06 02:30:40

相關問題