成功拿到了后端返回的数据,但是response为nil
let response = try? JSONDecoder().decode(Result.self, from: moyaResponse.data)
查找了一天原因没找到,后来翻墙出去找到了:
此方法的關鍵在於遵從 Decodable 的自訂型別和 JSON 資料對應,如果不小心犯了某些小錯誤,比方把 message 拼成 massage,將讓 JSONDecoder 的 decode 解碼失敗
JSON 裡某些 key 不一定有值,像這樣的 key 我們宣告 property 時必須宣告成 optional,否則在找不到 key 對應的值時一樣會出現剛剛的 keyNotFound 錯誤。
property 的型別不對,比方 status 應該是 String,我們卻宣告成 Int。