2
我只是在玩Alamofire框架,並且沒有多少API調用。但我觀察到alamofire有兩種請求方法:Alamofire的responseJSON和responseData之間的區別
responseJSON和responseData of Alamofire有什麼區別。
public func responseData(
queue: DispatchQueue? = nil,
completionHandler: @escaping (DataResponse<Data>) -> Void)
-> Self
{
return response(
queue: queue,
responseSerializer: DataRequest.dataResponseSerializer(),
completionHandler: completionHandler
)
}
public func responseJSON(
queue: DispatchQueue? = nil,
options: JSONSerialization.ReadingOptions = .allowFragments,
completionHandler: @escaping (DataResponse<Any>) -> Void)
-> Self
{
return response(
queue: queue,
responseSerializer: DataRequest.jsonResponseSerializer(options: options),
completionHandler: completionHandler
)
}
謝謝!我知道了 ! –
我不確定您是否使用名爲'SwiftJSON'的庫。只是想問,如果我使用這樣一個庫,是否可以一直使用'responseData'?因爲我的API集合中有一個特定的端點返回一個錯誤,指出JSON不能被解析或者使用'responseJSON'。 – Glenn
@ prettyitgirl.com如果數據是無效的JSON那麼你會得到那個錯誤。如果響應中使用json,則只使用responseJSON。如果沒有,你可以使用responseData,它只會傳遞給你原始數據(例如它可能是一個文件或其他類型的數據)。 – Fogmeister