responseJSON
объявлено в двух расширениях - одно в DataRequest
, другое в DownloadRequest
.
Поскольку Request
является суперклассом обоих этих классов, Request
не имеетresponseJSON
method.
Создайте два расширения для DataRequest
и DownloadRequest
:
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)
}
}
}
}
Или просто напишите одно из них, если вам когда-либо понадобится только одно из них.