2016-02-26 3 views
0

Я перенес из AFNetworking 2.5 в 3.0 в Swift и имел проблему с методом dataTaskWithRequest. Этот метод находится в классе с суперклассом AFHTTPSessionManager. Ошибка, которую я получаю от XCode, заключается в том, что «Метод не отменяет какой-либо метод из своего суперкласса».Быстрое AFNetworking dataTaskWithRequest ошибка переопределения

Каков правильный способ создания экземпляра метода dataTaskWithRequest в классе SessionManager?

Другие сообщения StackOverflow порекомендовали удаления "переопределение", но когда я делаю это, я получаю ошибку:

«Method" 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) 
} 


} 

ответ

0

в Swift 2, это должно работать:

override func dataTaskWithRequest(request: NSURLRequest, completionHandler: ((NSURLResponse, AnyObject?, NSError?) -> Void)?) -> NSURLSessionDataTask 
{ 
} 
Смежные вопросы