2016-09-22 6 views
0

Эй, имеющие проблемы с Swift 3. У меня есть следующий код:Как установить URLSession Swift 3

public var urlSession : URLSession? 
self.urlSession = URLSession(configuration: URLSessionConfiguration.default, 
      delegate: self, 
      delegateQueue: OperationQueue.main) 

Я получаю следующее сообщение об ошибке: «URLSession производит(), не ожидаемый результат контекстного type URLSession? "

Что я здесь делаю неправильно?

+0

Посмотрите мой ответ по этой ссылке: http://stackoverflow.com/questions/40347832/urlsession-error – Fidel

ответ

1

Swift 3,0

let urlString= "URL String" 
let myUrl = URL(string: urlString); 
let request = NSMutableURLRequest(url:myUrl!); 
request.httpMethod = "GET"; 

let task = URLSession.shared().dataTask(with: request as URLRequest) { 
    data, response, error in 

    if error != nil { 
     print(error!.localizedDescription) 
     DispatchQueue.main.sync(execute: { 
      AWLoader.hide() 
     }) 
     return 
    } 

    do { 

let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSArray 

if let parseJSON = json{ 
print(parseJSON) 
} else { 
AWLoader.hide() 
} 
catch{ 
     AWLoader.hide() 
     print(error) 
    } 
} 
task.resume() 
1

Мои Я спрашиваю ваши функции URLSession?

Может быть проблема в вашем коде, как:

func URLSession(session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { 
    self.data.append(data as Data) 
} 

и:

func URLSession(session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { 
    if error != nil { 
     print("Failed to download data") 
    }else { 
     print("Data downloaded") 
     self.parseJSON() 
    } 
} 

так вместо:

func URLSession(session: 

сделать это:

func urlSession(_ session: 

финал будет как:

func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { 
    self.data.append(data as Data) 
} 

func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { 
    if error != nil { 
     print("Failed to download data") 
    }else { 
     print("Data downloaded") 
     self.parseJSON() 
    } 
} 

Если его не решение вашей проблемы, пожалуйста, обновите ваш вопрос с большим количеством коды. ✌️

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