2017-02-13 17 views
-5

Я получаю эту ошибку проходя по желанию:Swift 3: фатальная ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение

fatal error: unexpectedly found nil while unwrapping an Optional value 

Вот мой код:

func makeRequestcompletion(completion:@escaping (_ response:Data, _ error:NSError)->Void) { 
    let urlString = URL(string: "https://myUrl.com") 
    if let url = urlString { 
     let task = URLSession.shared.dataTask(with: url, completionHandler: { (data, urlRequestResponse, error) in 

      completion((data)!, error as! NSError) // <-- here is where I'm getting the error 
     }) 
    task.resume() 
    } 
} 

Любой из вас знает, почему Я получаю эту ошибку?

Я по-настоящему благодарю вашу помощь.

+5

Возможный дубликат [Что делает «Фатальная ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение» означает?] (Http://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly -found-nil-while-unwrapping-an-optional-valu) – Hamish

+0

@Hamish, нет, потому что я не спрашиваю, что является необязательным. Я спрашиваю, почему ошибка с данными, даже когда я разворачиваю переменную – user2924482

+0

Не связано с тем, почему вы набрасываете 'error' на' NSError'? Просто используйте 'Error'. – rmaddy

ответ

0

Измените параметры закрытия на факультативное, чтобы вам не пришлось принудительно разворачивать его.

func makeRequestcompletion(completion: @escaping (_ response:Data?, _ error:Error?)->Void) 
{ 
    let urlString = URL(string: "http://www.myUrl.com") 
    if let url = urlString { 
    let task = URLSession.shared.dataTask(with: url, completionHandler: { (data, urlRequestResponse, error) in 
     completion(data, error) // <-- here is I'm getting the error 
     }) 
     task.resume() 
    } 

} 
+1

Эта работа !. спасибо за помощь! – user2924482