兩個(gè)swift文件里,調(diào)用同樣的json解析,一個(gè)報(bào)錯(cuò)。。。。神奇
這個(gè)報(bào)錯(cuò)的對(duì)應(yīng)的方法是

A
沒報(bào)錯(cuò)的對(duì)應(yīng)的方法是

B

A

B
啥原因?????
另外的一個(gè)問題 :try?如果拋出錯(cuò)誤,則將整個(gè)表達(dá)式轉(zhuǎn)換為nil。它已經(jīng)自己處理了錯(cuò)誤,因此catch塊不再需要捕捉錯(cuò)誤。另一方面,try并不能做到這一點(diǎn)。有關(guān)更多信息,請(qǐng)參閱Swift指南的錯(cuò)誤處理部分。
如果希望catch塊捕獲錯(cuò)誤,應(yīng)該使用try。
這個(gè)報(bào)錯(cuò)意味著該方法希望在方法調(diào)用中看到確切的參數(shù)類型
so 參數(shù)明確以下類型就ok了
extension NetWorkRequest {
//json序列化 data轉(zhuǎn)化成字典或者數(shù)組的對(duì)象
func jsonDecode(responseData : Data) -> Any {
let data = try? JSONSerialization.jsonObject(with: responseData , options: .allowFragments)
return data as Any
}
}