티스토리 뷰

IOS

[Swift] 웹에서 데이터 받아오기

박중수 2015. 11. 13. 13:26

요즘 서버와의 통신은 대부분의 어플리케이션 개발에서 사용된다.

 

이 글에서는 NSURLSession을 사용하여 웹서버와 통신해 데이터를 받아오는 방법을 알아볼 것이다.

 

환경으로는 swift 2.0xcode 7.1을 사용하였다.

 

 

let url = NSURL(string: "url주소")

let req = NSMutableURLRequest(URL: url!)

let session = NSURLSession.sharedSession()

let task = session.dataTaskWithRequest(req, completionHandler: {

    data, res, error -> Void in

        // code

}); // end task

task.resume()

 

주의할 점은 NSURLSession을 사용하는 방식은 요청을 비동기로 하기 때문에 함수 내에서 결과값을 받아 리턴해줄 수 없다는 점이다.

만약 함수에서 NSURLSession을 호출하여 값을 받아온 다음 리턴한다면 NSURLSession에서 결과 값을 받아오기 전에 함수를 리턴해버리기 때문에 결국 빈 값이 리턴된다.

그러므로 dataTaskWithRequest 함수에서 completionHandler 인자로 전달하는 콜백을 통해 비즈니스 로직을 구현하는 것이 좋다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함