gpt4 book ai didi

Swift:类型为 'Self'(请求)的 Alamofire 值没有成员 'responseJSON' 扩展

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:40 25 4
gpt4 key购买 nike

我在这里创建了请求的扩展是下面的代码:

extension Request {

public func responseIDEA(completionHandler: (AnyObject?, String?) -> Void) -> Self {
self.responseJSON() { response in
if response.result.error != nil {
completionHandler (nil, response.result.error!.localizedDescription)
}else {
completionHandler(response.result.value?.valueForKey("Data"), response.result.value?.valueForKey("Message") as? String)
}
}
}
}

但是我有这个错误:

Value of type 'Self' has no member 'responseJSON'

为什么我无法获取 responseJSON?

最佳答案

responseJSON 在两个扩展中声明 - 一个在 DataRequest 中,另一个在 DownloadRequest 中。

因为 Request 是这两个类的父类(super class),Request 没有 responseJSON 方法。

DataRequestDownloadRequest 创建两个扩展:

extension DataRequest {

public func responseIDEA(completionHandler: (AnyObject?, String?) -> Void) -> Self {
self.responseJSON() { response in
if response.result.error != nil {
completionHandler (nil, response.result.error!.localizedDescription)
}else {
completionHandler(response.result.value?.valueForKey("Data"), response.result.value?.valueForKey("Message") as? String)
}
}
}
}

extension DownloadRequest {

public func responseIDEA(completionHandler: (AnyObject?, String?) -> Void) -> Self {
self.responseJSON() { response in
if response.result.error != nil {
completionHandler (nil, response.result.error!.localizedDescription)
}else {
completionHandler(response.result.value?.valueForKey("Data"), response.result.value?.valueForKey("Message") as? String)
}
}
}
}

或者,如果您只需要其中之一,则只需编写其中一个即可。

关于Swift:类型为 'Self'(请求)的 Alamofire 值没有成员 'responseJSON' 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53494825/

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