ios - Swift2.0 : How to get both return value and error with do try catch

标签 ios swift afnetworking swift2

我在 Objective-C 中有一个函数。这个函数总是返回一个值,如果发生错误事件:

-(NSString *)test:(NSError **)error;

我在 Swift1 中重写了它,如下所示,这样我仍然可以同时获取值和错误。

override func test(error: NSErrorPointer) -> String {
    var error: NSError?
    let result = super.test(&error)
    ...
}

但现在在 swift2 中,我只能重写像这样的函数

override func test() throws -> String {

} 

在这种情况下,如何同时获取值和错误?

我这样做是因为我需要覆盖 AFNetworking 中的一个函数。返回值和错误都需要。

- (id)responseObjectForResponse:(NSURLResponse *)response
                           data:(NSData *)data
                          error:(NSError *__autoreleasing *)error;    

最佳答案

我知道这并没有回答问题,尽管我可以就 Swift 中的错误处理方式提供指导,但这对您来说可能容易得多。

AFNetworking 有一个名为 AlamoFire 的专用 Swift 库。如果您的项目使用 Swift,使用 AFNetworking 库的 swift 版本可能对您有益。可以在这里找到:

https://github.com/Alamofire/Alamofire

关于ios - Swift2.0 : How to get both return value and error with do try catch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32618867/

相关文章:

iphone - 停止在应用程序进入前台后调用setKeepAliveTimeout处理程序吗?

ios - 我怎样才能得到 objc_property_t 类型

ios - Swift NsdateFormatter 问题

ios - 如何从 Xcode 项目中删除 Firebase Analytics 依赖项?

iOS App离线和同步

ios - Collection View 中的气泡未增长到适当的高度

swift - 如何在 TVOS 中的 TVDigitEntryViewController 的完成处理程序中获取输入的引脚?

ios - 显示 AFNetworking+UIImageView 占位符图像,但不显示 URL 图像

ios - 设置 AFNetworking 3.x 单例请求和响应序列化

ios - Obj-C 中的 HTTP 多部分请求