Загрузка изображений с URL-адреса через Kingfisher на iWatch занимает много времени

Я работаю над приложением Watch, в котором есть WKInterfaceTable, и в каждую ячейку таблицы мне нужно загрузить изображение с URL-адреса,

Я использовал Kingfisher для загрузки изображений следующим образом:

self.mainGroup.setBackgroundImage(defualt_Image) //placeholder image

    if let placeUrl = URL(string: urlString) {

        _ = KingfisherManager.shared.retrieveImage(with: placeUrl, options: nil, progressBlock: nil, completionHandler: { (image, error, cacheType, imageURL) in

            if image != nil {

                DispatchQueue.main.async {
                self.mainGroup.setBackgroundImage(image)
            }
             }
        })

    }

этот код вызывается, когда я настраиваю таблицу.

Проблема в том, что загрузка изображения заняла около 20 секунд,

Я много искал эту проблему, но полезных ответов нет.

Кто-нибудь сталкивался с такой же проблемой на iWatch?

Пожалуйста помоги!

Спасибо.


person Rawan    schedule 07.11.2017    source источник
comment
retrieveImage — это асинхронный метод. убедитесь, что вы обновляете пользовательский интерфейс из основного потока   -  person Leo Dabus    schedule 07.11.2017
comment
@LeoDabus привет, спасибо за ваш ответ, я обновляю свой код, но, к сожалению, никаких изменений не происходит, и изображения по-прежнему загружаются очень долго, пожалуйста, проверьте мой обновленный код   -  person Rawan    schedule 07.11.2017


Ответы (1)


попробуйте этот код. это будет работать.

   DispatchQueue.main.async(execute: {() -> Void in
                self.mainGroup.setBackgroundImage(image)
            })
person Enea Dume    schedule 07.11.2017