Larme

Untitled

Apr 19th, 2021
460
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import UIKit
  2.  
  3. class HomeViewController: UIViewController {
  4.    
  5.     var covidStatData: CovidStat?
  6.    
  7.     override func viewDidLoad() {
  8.         super.viewDidLoad()
  9.         print("viewDidLoad(): covidStatData before getCovidStat(): \(covidStatData)")
  10.         getCovidStat()
  11.         print("viewDidLoad(): covidStatData after getCovidStat(): \(covidStatData)")
  12.     }
  13.    
  14.    
  15.     func getCovidStatJSON(completion: @escaping (String?, Error?) -> Void) {
  16.         print("getCovidStatJSON(completion:) start")
  17.         let zipCd = User.currentUser?.zipCd
  18.         let apiURL: String = "https://localcoviddata.com/covid19/v1/locations?zipCode=\(zipCd ?? "")"
  19.         guard let cURL = URL(string: apiURL) else { return }
  20.         let request = URLRequest(url: cURL)
  21.         URLSession.shared.dataTask(with: request) { (data, response, error) in
  22.             print("dataTask(with:) closure")
  23.             if let str = String(data: data!, encoding: .utf8) {
  24.                 completion(str, nil)
  25.             }
  26.         }.resume()
  27.         print("getCovidStatJSON(completion:) end")
  28.     }
  29.    
  30.     func getCovidStat() {
  31.         print("getCovidStat start")
  32.         getCovidStatJSON(completion: { covidStatJSON, error in
  33.             print("getCovidStatJSON(completion:) closure")
  34.             if let covidStatJSON = covidStatJSON {
  35.                 let covidStatData = Data(covidStatJSON.utf8)
  36.                 let decoder = JSONDecoder()
  37.                 do {
  38.                     print("Will set covidStatData")
  39.                     self.covidStatData = try decoder.decode(CovidStat.self, from: covidStatData)
  40.                     print("Did set covidStatData")
  41.                     //Now that we set the value, let's use it
  42.                     DispatchQueue.main.async {
  43.                         //self.myLabel.text = self.covidStatData.zipCd
  44.                         //...
  45.                     }
  46.                 } catch {
  47.                     print(error)
  48.                 }
  49.  
  50.             }
  51.         })
  52.         print("getCovidStat end")
  53.     }
  54. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×