gpt4 book ai didi

swift - 将 AFNetworking swift 2.3 模拟转换为 swift 3?

转载 作者:行者123 更新时间:2023-11-28 16:07:49 25 4
gpt4 key购买 nike

我们正在尝试将 swift2.3 AFNetworking 模拟转换为 swift 3。这是 Swift 2.3 代码:

class MockAFHTTPRequestOperationManager : AFHTTPRequestOperationManager {

var capturedPOSTURL = ""
var capturedPOSTParameters: Dictionary<String, String> = [:]

internal override func post(_ URLString: String!, parameters: AnyObject!, success: ((AFHTTPRequestOperation?, AnyObject?) -> Void)!, failure: ((AFHTTPRequestOperation?, NSError?) -> Void)!) -> AFHTTPRequestOperation! {
capturedPOSTURL = URLString
capturedPOSTParameters = parameters as! Dictionary
return AFHTTPRequestOperation()
}
}

这是我们尝试过的 swift 3 代码,但是当我们在 func POST 前面添加覆盖时出现编译错误:

    func POST(URLString: String, parameters: AnyObject, success: (_ operation: AFHTTPRequestOperation, _ responseObject: AnyObject) -> Void, failure: (_ operation: AFHTTPRequestOperation, _ error: NSError) -> Void) -> AFHTTPRequestOperation {

return AFHTTPRequestOperation()

}

它表示该方法不会覆盖其父类(super class)中的任何方法。

这是我们试图覆盖的 Objective-C 方法:

- (AFHTTPRequestOperation *)POST:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;

我们正在使用 AFNetworking 2.5.1

我们如何使用 swift3 语法正确覆盖上面的 AFHTTPRequestOperationManager POST 方法?

最佳答案

这个有效:

    override func post(_ URLString: String, parameters: Any, success: ((_ operation: AFHTTPRequestOperation, _ responseObject: Any) -> Void)! , failure: ((_ operation: AFHTTPRequestOperation, _ error: Error) -> Void)!) -> AFHTTPRequestOperation {

return AFHTTPRequestOperation()

}

关于swift - 将 AFNetworking swift 2.3 模拟转换为 swift 3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39987112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com