2016-10-05 5 views
-2

После преобразования в Swift 3 я пытаюсь исправить все ошибки на данный момент. Но эта ошибка делает меня больным:Ошибка Swift 3 .dataTask

не может ссылаться на 'dataTask' со списком аргументов типа '(с: NSMutableURLRequest, completionHandler:? (Data ?, URLResponse ?, NSError) -> Пустота)'

в этой строке кода (его в последней строке):

let request = NSMutableURLRequest(url: myUrl!) 
    request.httpMethod = "POST" 
    let para = ["userId" : user_ID] 
    let boundary = generateBoundaryString() 
    let imageA = images[pos]! as UIImage 
    print(imageA) 


    request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type") 



    let imageData = UIImageJPEGRepresentation(imageA, 1) 

    request.httpBody = createBodyWithParameters(para, filePathKey: "file", imageDataKey: imageData!, boundary: boundary) 


    URLSession.shared.dataTask(with:request, completionHandler: { (data:NSData, response:URLResponse?, error:NSError?) -> Void in 

код продолжается здесь, но то не важно для решения.

+0

ли у Вас есть вопрос? – matt

+0

Вопрос вот как это исправить ... @matt –

ответ

4

Компилятор хочет

var request = URLRequest(url: myUrl!) 

и

...(data: Data?, response:URLResponse?, error:Error?) 

, но я рекомендую, чтобы опустить аннотации типов полностью

...(data, response, error) 
+1

Это _certainly_ хочет Ошибка, а не NSError. – matt

+0

Правильно, спасибо, я обновил ответ – vadian

+0

Если я попробую, то это только что изменившаяся ошибка: Неоднозначная ссылка на dataTask участника (с: completionHandler :) '@vadian –

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