Я перешел с AFNetworking 2.5 на 3.0 в Swift, и у меня возникла проблема с методом dataTaskWithRequest. Этот метод находится в классе надкласса AFHTTPSessionManager. Ошибка, которую я получаю от XCode, заключается в том, что «Метод не переопределяет какой-либо метод из своего суперкласса».
Как правильно создать экземпляр метода dataTaskWithRequest в классе SessionManager?
В других сообщениях StackOverflow рекомендуется удалить «переопределение», но когда я это делаю, я получаю сообщение об ошибке:
«Метод dataTaskWithRequest(:completionHandler:)» с селектором Objective-C «dataTaskWithRequest:completionHandler:» конфликтует с методом «dataTaskWithRequest(:completionHandler:)» из суперкласса «AFURLSessionManager» с тем же Objective-C селектор"
Код:
class SessionManager: AFHTTPSessionManager {
...
func dataTaskWithRequest(request: NSURLRequest!, completionHandler: ((NSURLResponse?, AnyObject?, NSError?) -> Void)) ->
NSURLSessionDataTask! {
if let request = request as? NSMutableURLRequest {
request.setValue(gQuidsiCache.amznSessionID, forHTTPHeaderField: amazonSesionIDHeader)
request.setValue(gQuidsiCache.visitorID, forHTTPHeaderField: legacyVisitorIDHeader)
}
return super.dataTaskWithRequest(request, completionHandler: completionHandler)
}
}