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.

See Also (Katso myös)