0
JSON 데이터를 검색하여 완성 블록에 표시하는이 함수는 왜 (Data)
대신 ((Data) -> Void)
대신에 void
이 꼭 필요한지 이해하기 위해 노력하고 있습니다. 여기에 기능은 다음과 같습니다JSON 데이터를 검색 할 때 완성 블록을 가져 오는 시점이 Void를 반환합니까?
typealias JSONData = ((Data) -> Void)
func getJSONData(type: String, urlExtension: String, completion: @escaping JSONData) {
let request = URLRequest(url: URL(string:"\(baseURL)\(type)/\(urlExtension)?api_key=\(apiKey)®ion=US&append_to_response=videos,images,releases")!)
let dataTask = session.dataTask(with: request, completionHandler: { (data, response, error) in
if error == nil {
if let httpResponse = response as? HTTPURLResponse {
switch (httpResponse.statusCode) {
case 200:
if let data = data {
completion(data)
}
default:
print(httpResponse.statusCode)
}
}
} else {
DispatchQueue.main.async {
if let error = error {
print("Error: \(error.localizedDescription)") }
return
}
}
})
dataTask.resume()
}
-> 모두 함께 생략 할 수 있습니까, 아니면 필수입니까? – SwiftyJD
필수 항목입니다. 자세한 내용은 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html을 참조하십시오. – hhanesand
아, 고마워! – SwiftyJD