Things take time

[SWIFT] 기본적인 데이터 통신(HTTP : URLSession.shared.dataTask) 본문

iOS (기능)

[SWIFT] 기본적인 데이터 통신(HTTP : URLSession.shared.dataTask)

겸손할 겸 2017. 4. 26. 16:59

[안드로이드의 HttpURLConnection]


서버와 통신하고, 그에 대한 응답 데이터(JSON과 같은)를 불러와 작업할 때 사용하는 메소드이다.

func dataTask(url: String){ let url = URL(string: url) let task = URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) -> Void in guard let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 else{ // Http 통신이 실패한 경우 return } // Http 통신이 성공했을 경우, php나 서버에서 echo로 찍어줬을 때 받는 방법

guard let returnStr = String(data: data!, encoding: .utf8) else {

return

} print(returnStr) }) // 실행 task.resume() }

마지막의 task.resume()이 있어야 동작하며, 나 같은 경우에는 통신 성공 시 do{} catch{}를 사용하여 JSON데이터를 받아와 작업할 때 사용한다.