Как сохранить HTML как переменную после получения HTML из Интернета? - PullRequest
0 голосов
/ 21 мая 2019

Я новичок в Swift. Я хочу присвоить ответ из Интернета (то есть строку html) переменной, но он не работает.

Я думаю, что для получения html из Интернета может потребоваться некоторое время. Поэтому другие коды будут выполняться первыми. Вот почему мой print("After task.resume: \n" + content) появляется раньше print("Inside task: \n" + content).

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    var content : String = "content"
    let url = URL(string: "https://www.apple.com/")!
    let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
        if let data = data{
            content = String(data: data, encoding: .utf8)!
            print("Inside task: \n" + content)
        }
    }
    task.resume()
    print("After task.resume: \n" + content)
}

Фактические результаты:

After task.resume: 
content
Inside task: 

<!DOCTYPE HTML>
......

Ожидаемое:

Inside task: 
<!DOCTYPE HTML>
...

After task.resume: 
<!DOCTYPE HTML>
...
...