Swift ViewController имеет задержку при открытии, хотя я использую другой поток - PullRequest
0 голосов
/ 31 марта 2020

У меня есть viewController, который загружает некоторые данные из базы данных SQLite. Это задерживает открытие viewController. Когда я делаю этот вызов в viewDidLoad, но в другом потоке, как этот, задержка все еще там.

      DispatchQueue.global(qos: .background).async {
        do {
            self.title = try ContentDataManager.getTitle(type: self.navigationType, parentId: self.parentId, filter: self.filter)
            DispatchQueue.main.async {
                self.titleLabel.text = title
            }
        } catch let error {
            print(error)
        }
    }

Это работает, когда я жду 1ns. Но я думаю, что этот подход очень подвержен ошибкам.

Почему этот код блокирует основной поток, когда он находится в другом потоке?

...