Обновить загрузку изображения пользовательского интерфейса и пользовательского интерфейса с URL-адреса в ios SwiftIOS

Программируем под IOS
Anonymous
Обновить загрузку изображения пользовательского интерфейса и пользовательского интерфейса с URL-адреса в ios Swift

Сообщение Anonymous »

Привет всем младшим разработчикам! Я получаю данные с сервера в фоновом потоке и обновляю пользовательский интерфейс в основном потоке, это работает, но у меня также есть отдельный загрузчик изображений пользовательского интерфейса из URL-адреса здесь:

Код: Выделить всё

extension UIImageView {
func load(url: String) {
guard let urlString = URL(string: url) else {return}
DispatchQueue.global(qos: .background).async { [weak self] in
if let data = try? Data(contentsOf: urlString) {
if let image = UIImage(data: data) {
DispatchQueue.main.async {
self?.image = image
}
}
}
}
}
}
Но когда на открытом экране работает первый загрузчик изображений, указанный выше, и приложение зависает на несколько секунд, а затем обновляется основной пользовательский интерфейс (uiviews), оба пользовательских интерфейса обновляются в основном потоке. Как я могу сделать так, чтобы загрузка изображения в основной поток не блокировала обновление uiview? Я хочу, чтобы это было так: пользовательский интерфейс обновляется и работает, затем, когда изображение загружается, оно не должно блокировать основные обновления пользовательского интерфейса.
Дополнительная информация: использование объединения для получения данных и uikit для дизайна.
Заранее спасибо !

Подробнее здесь: https://stackoverflow.com/questions/785 ... -ios-swift

Вернуться в «IOS»