2015-05-07 2 views
1

Я получаю странную ошибку в моем быстром приложении iOS. Компилятор жалуется на первой строке:Невозможно вызвать dataTaskWithRequest с списком аргументов типа

let task = session.dataTaskWithRequest(request) { data, response, error in 
    self.oauthManager.customOAuth2Manager.parseData(data, response: response, error: error, body:request, callback: { (jsonArray, error) -> Void in 
    }) 
} 

Погрешность компилятора:

Cannot invoke 'dataTaskWithRequest' with an argument list of type '(NSURLRequest, (_, _, _) -> _)' 

Однако, это не на этой строке, кажется, находится ошибка. Если я удалю внутренний вызов parseData, ошибка не появится.

Декларация, parseData является:

func parseData(data: NSData, response:NSURLResponse, error:NSError?, body:String?, callback:JsonRequestCallback) 

где JsonRequestCallback является:

public typealias JsonRequestCallback = (jsonArray: NSArray?, error: NSError?) -> Void 

также:

let request = oauthManager.newLoginRequest(emailOrCompanyCode: emailOrCompanyCode, password: password) as NSURLRequest 
let session = NSURLSession.sharedSession() 

и

func newLoginRequest(var #emailOrCompanyCode: String, var password:String?) -> NSMutableURLRequest 

Любые идеи?

+0

Pass Струнных в «тело:» параметр. Вы передали «запрос». – Satachito

+0

Спасибо! Такая простая ошибочная ошибка и такая вводящая в заблуждение ошибка – Sunkas

ответ

0

Чтобы ответить на мой собственный вопрос, Сатахито был прав. Только недопустимый параметр. К сожалению, компилятор Swift не указывает точную ошибку, а не правильную строку для этого.

Так как другие, имеющие аналогичные проблемы, искать misstakes во всем коде в любых переданных затворах

Смежные вопросы