0
我有一個json被轉向字典對象。當甩你可以看到返回處理「無法將類型'NSTaggedPointerString'的值轉換爲'NSNumber'」
▿ (2 elements)
- key: "LivingArea"
- value: NULL #2
- super: NSString
- super: NSObject
承擔的UserDict是我的字典對象以下
let LivingArea = userDict?["LivingArea"] as? Int
回報:選購(5)
,但我需要它拆開,所以我嘗試
let LivingArea = userDict?["LivingArea"] as! Int
這使得應用程序崩潰時出現以下情況: 無法投射類型'NSTaggedPointerString'(0x111601d60)到'NSNumber'(0x110c0e4a8)的值。
我如何獲得LivingArea解包的價值。爲什麼它不像Int? 這是JSON的一個例子
["District": 4, "Napa": 43, "LivingArea": 2, "CityName": LA, "CityCode": 1103]
謝謝
錯誤清楚地說,該值是一個'string'而非'(NS)number'設置的默認值爲0。並且請用起始小寫字母命名變量。 – vadian
看來,並非所有的JSON條目都有'LivingArea'的數值。您應該將變量保留爲可選項,並在需要時將其解包。不要強行拆包,否則會發生崩潰。另一種選擇是使用'let livingArea = userDict?[「LivingArea」]將默認值設置爲0? Int ?? 0' – Paulw11
@AshokKumarReddyPolu我得到以下內容:無法用類型爲'(Any?)'的參數列表類型'Int'調用初始化程序。 –