URLSession
처럼하려고하면 URLSession
클래스와 관련 클래스는 HTTP/HTTPS 프로토콜을 통해 콘텐츠를 다운로드하기위한 API를 제공하는 아이폰 OS 7에 도입 NSURLConnection
를 대체합니다. URLSession API는 기본적으로 비동기입니다. 다음은
는 간단한 GET 요청은
public func simpleNetworkRequest(completion: @escaping (_ JSON: [[String: Any]]?, _ error: Error?) -> Void) {
// Set up the URL request
let todoUrl: String = "https://jsonplaceholder.typicode.com/todos/1"
guard let url = URL(string: todoUrl) else {
print("Error: cannot create URL")
return
}
let urlRequest = URLRequest(url: url)
// set up the session
let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)
// make the request
let task = session.dataTask(with: urlRequest) { (data, response, error) in
guard error != nil else {
print(error!.localizedDescription)
completion(nil, error)
return
}
// make sure we got data
guard let responseData = data else {
print("Error: did not receive data")
completion(nil, nil)
return
}
// parse the result as JSON, since that's what the API provides
do {
guard let JSON = try JSONSerialization.jsonObject(with: responseData, options: []) as? [String: AnyObject] else {
print("error trying to convert data to JSON")
completion(nil, nil)
return
}
print("JSON response : \(JSON)")
//code to parse json response and send it back via completion handler
let result = JSON["result"] as? [[String: Any]]
completion(result, nil)
} catch let error {
print(error.localizedDescription)
completion(nil, error)
}
}
task.resume()
}
이 다음은 또는 당신이 Alamofore을 사용할 수 있습니다
https://videos.raywenderlich.com/courses/networking-with-nsurlsession/lessons/1
https://www.raywenderlich.com/110458/nsurlsession-tutorial-getting-started
을 언급 얻을 수있는 무료 리소스입니다 URLSession API를 사용 (권장) 네트워크 요청을하려면
,210
간단한 예는 요청이 될 수 있도록하는
Alamofire.request("https://httpbin.org/get").responseJSON { response in
print(response.request) // original URL request
print(response.response) // HTTP URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
[iOS9에서 사용되지 않는있는 NSURLConnection]의
가능한 복제 (http://stackoverflow.com/questions/32441229/nsurlconnection-deprecated-in-ios9) – Larme