我轉換一個JSON到字典和應用程序從詞典(SWIFT)
title = json?.objectForKey("Titel_Live") as! String
得到了一些字符串,但有些時候程序會崩潰獲取字符串時墜毀。我無法重現這個問題,只能從崩潰報告中獲取信息。
有人可以幫助我,說出原因嗎?由於
我轉換一個JSON到字典和應用程序從詞典(SWIFT)
title = json?.objectForKey("Titel_Live") as! String
得到了一些字符串,但有些時候程序會崩潰獲取字符串時墜毀。我無法重現這個問題,只能從崩潰報告中獲取信息。
有人可以幫助我,說出原因嗎?由於
title = json?.objectForKey(「Titel_live」) as! String
這行的,你正在做力展開(不要強行使用投地!)代碼是起因手段如果與主要Titel_live
目標點找不到那麼應該崩潰,更好地與可選的鏈接去或使用gaurd但肯定你的簡化版,Json
包含與關鍵Titel_live
任何物體(可能拼寫錯誤或對象數組驗證一次)。
//better go like this check if exist or not.
if let t = json?.objectForKey(「Titel_live」) {
title = t
}
你不應該強制鑄造字符串。
您可以嘗試: -
title = json?.objectForKey("Title_Live") as? String
(如果標題是可選的變量) 如果標題是不可選的,然後使用:
title = (json?.objectForKey("Title_Live") as? String ?? "")
因爲objectForKey將返回nil,如果沒有值與該鍵相關聯,並強制將字符串轉換爲字符串失敗並導致崩潰。
不要強制施放。解析JSON時絕對不應該使用'!'。 –
我認爲你的回答沒有'key == Titel_Live' – iSashok
'的數據'!因爲!'強制解包更好去選擇鏈接。 – Buntylm