我從一個web服務器讀取json而得到一個字典數組,並使用以下命令來確保我在第一個字典中獲得了一個特定的鍵獲取其int值之前,數組中:在調用intvalue之前對字典對象進行空檢查仍導致對空對象的intvalue調用
if([jsonObject[0] objectForKey:@"votes"]!= nil)
{
int votes = [[jsonObject[0] objectForKey:@"votes"] intValue];
[[UserObject userUnique] updateVotes:votes];
}
然而,我的應用程序仍偶爾崩潰說我已呼籲對的intValue空。我也嘗試構建控制語句爲
if([jsonObject[0] objectForKey:@"votes"])
但這也導致相同的錯誤/應用程序崩潰。我的語法似乎與SO上的接受答案一致(Check if key exists in NSDictionary is null or not)。任何其他建議/我應該如何檢查應用intvalue的鍵值對的存在?
謝謝你的任何建議。
什麼類型的對象在字典中存儲爲「票」? NSNumber的? – Fonix 2015-01-21 10:26:46
@Fonix這是一個NSString – 2015-01-21 10:31:03
請發佈完整的錯誤信息。它提到「NSNull」嗎? – 2015-01-21 10:32:15