我试图在出现错误的情况下通过AlaMofires的回调访问
我有一个枚举,它处理
enum BackendAPIErrorManager: Error {
case network(error: Error)
case apiProvidedError(reason: String) // this causes me problems
...
}
在我的请求中,如果有错误,我将适用的错误存储到Alamofire提供的
private func resultsFromResponse(response: DataResponse<Any>) -> Result<Object> {
guard response.result.error == nil else {
print(response.result.error!)
return .failure(BackendAPIErrorManager.network(error: response.result.error!))
}
if let jsonDictionary = response.result.value as? [String: Any], let errorMessage = jsonDictionary["error"] as? String, let errorDescription = jsonDictionary["error_description"] as? String {
print("\(errorMessage): \(errorDescription)")
return .failure(BackendAPIErrorManager.apiProvidedError(reason: errorDescription))
}
....
}
调用该方法时:
func performRequest(completionHandler: @escaping (Result<someObject>) -> Void) {
Alamofire.request("my.endpoint").responseJSON {
response in
let result = resultsFromResponse(response: response)
completionHandler(result)
}
}
然后,当我调用
performRequest { result in
guard result.error == nil else {
print("Error \(result.error!)") // This works
//prints apiProvidedError("Error message populated here that I want to log")
print(result.error!.localizedDescription) // This gives me the below error
}
}
如果出现返回
如何从返回的错误中获取
要能够在符合
extension BackendAPIErrorManager: LocalizedError {
var errorDescription: String? {
switch self {
case .apiProvidedError:
return reason
}
}
}
原因有点模糊(因为关于
您可以在这里找到更多细节:如何在Swift中提供带有错误类型的本地化描述?
当我运行模拟器时,以下错误显示为警报: 操作无法完成。(LaunchServicesError错误0。) 我试过很多关于堆栈溢出的答案,但它们对我都不起作用。 Feb 18 14:48:12 com.apple.dt.xcode[32825]:错误域=LaunchServicesError Code=0“(null)”userInfo={Error=MissingBundleExecutable,
问题内容: 像这样的代码: 问题答案: 不适用于我。最好在 Alamofire中 使用这样的代码:
问题内容: 我已经从Rich Faces 3.3升级到Rich Faces 4.2,因为Ajax不适用于IE9。现在它仍然不起作用。 收到响应后,IE会收到一个JS错误 “ SCRIPT58734:从源头上来的东西”:c00ce56e。 在尝试时 在jsf.js.html?ln = javax.faces&conversationContext = 2,第1行第21747行 我认为是因为HTTP标
HTML 它在Chrome上运行良好,生成电影标题,但会出现错误 和 而无法完成操作。
我为从iOS设备上传视频到facebook编写了以下代码。 这给我带来了错误 操作无法完成。(错误 5。 我不知道facebook有什么问题。它上传图片和文字,但在视频中它会出现这个错误。 注意: 这是不是因为发送一次又一次,因为我也通过建立新帐户和重置设备测试iOS。 sample.mov也存在,并与图形api,但问题是这个SDK。 谢谢。
问题内容: 我正在使用AFNetworking库通过POST方法在服务器上发布数据。 以下是我的代码 但是我得到以下错误响应 我不明白代码有什么问题。 问题答案: 问题来自响应解析。您正在尝试反序列化响应(必须包含在a 或中),但是您的响应不是以上所有(很可能是简单的字符串)。 另外,尝试将“允许片段”设置为响应序列化程序。