我是Swift中的新成員,我有一個簡單的問題,但我堅持了很多小時。如何檢查JSONObject的密鑰是否存在?在Java中,我可以做到這一點jsonObject.has("selected")
。下面我的代碼:在JSONObject中檢查密鑰Swift
currTable = filteredDataTable[indexPath.row] as! [AnyHashable: Any]
if ((currTable.index(forKey: "selected") != nil) /*currTable["selected"]) != nil*/) {
currTable.updateValue((!((currTable["selected"] as? Bool)!)), forKey: "selected")
}
else {
currTable.updateValue(true, forKey: "selected")
}
print(currTable)
在上面我的代碼,它總是給我else
條件當我點擊我的CollectionView細胞。所以我的JSONObject中的selected
鍵始終爲真。我做錯了嗎? 。我已閱讀this,但它不清楚我的所有問題。任何建議都會有幫助。由於之前
它看起來好像currTable字典裏沒有名爲鍵「選擇」。你有沒有在if條件中設置一個斷點並檢查你的數據是什麼樣子以及爲什麼沒有設置密鑰?可能是因爲你沒有使用「selected」值初始化,或者你的條件應該是== nil? – Fahim
您是否嘗試使用「expr(bool)?expr:expr」或「如果讓/警衛讓」? – Evsenev
@Fahim它絕對正確。 'currTable'永遠不會有'selected'鍵。所以我想把這個並給予價值。但它似乎不工作 –