Swift:
Verkkosivun lataaminen
How to: (Kuinka tehdään:)
Swiftissä ladataan nettisivuja URLSession-entiteetin avulla. Tässä simppeleitä esimerkkejä:
import Foundation
// URL:n luonti
guard let url = URL(string: "https://example.com") else {
print("Invalid URL")
exit(1)
}
// URLSession käyttö
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let error = error {
print("Client error: \(error.localizedDescription)")
return
}
guard let httpResponse = response as? HTTPURLResponse,
(200...299).contains(httpResponse.statusCode) else {
print("Server error: respnse not in the range 200...299")
return
}
if let mimeType = httpResponse.mimeType, mimeType == "text/html",
let data = data,
let string = String(data: data, encoding: .utf8) {
print(string)
}
}
// Aloitetaan tehtävä
task.resume()
Deep Dive (Sukellus syvyyksiin)
Web-sivujen lataaminen on yleistynyt 1990-luvun alusta, kun WWW yleistyi. Vaihtoehtona URLSessionille on erilaiset kolmansien osapuolten kirjastot, kuten Alamofire. URLSession toimii delegaattipohjaisesti tai sulkeumien (closures) kautta, joten se integroituu hyvin Swiftin kanssa.