0
다음과 같은 데이터로드 기능이 있습니다. 이 기능은 며칠 전에 잘 작동했습니다. 앱에서 모든 URL을로드하려고하면 오류가 발생하며 아래 코드와 스크린 샷을 참조하십시오. 년 IOS/신속한에게 몇 가지 일을 코딩, 꽤 하드 ... 무엇이 잘못되었는지 파악이 엑스 코드 8.2에서 작동 최신 스위프트 3.0 구문 코드 아래앱 갑작스런 충돌로드 URL
class func loadDataFromURL(_ url: URL, completion:@escaping (_ data: Data?, _ error: NSError?) -> Void) {
let session = URLSession.shared
// Use NSURLSession to get data from an NSURL
let loadDataTask = session.dataTask(with: url, completionHandler: { (data: Data?, response: URLResponse?, error: NSError?) -> Void in
if let responseError = error {
completion(nil, responseError)
} else if let httpResponse = response as? HTTPURLResponse {
if httpResponse.statusCode != 200 {
let statusError = NSError(domain:"com.xyz", code:httpResponse.statusCode, userInfo:[NSLocalizedDescriptionKey : "HTTP status code has unexpected value."])
completion(nil, statusError)
} else {
completion(data, nil)
}
}
} as! (Data?, URLResponse?, Error?) -> Void)
loadDataTask.resume()
}
이렇게 '스위프트 3'에서 'dataTask'의 'completionHandler'서명이 변경되었습니다. { }의 loadDataTask = session.dataTask (데이터 : 데이터, 응답 : URL 응답? (Data?, URLResponse ?, Error?) -> Void)'끝 –
* 어디에서 충돌했는지 아십니까? 그렇지 않다면 각 줄 다음에 몇 개의 중단 점 및/또는 인쇄 문을 배치하십시오. 그게 우리가 * 왜 * 충돌을 일으키는가에 가깝게 만듭니다. – LinusGeffarth