Как исправить проблему DispatchQueue в Swift 5 - PullRequest
0 голосов
/ 17 апреля 2019

После обновления Xcode и Swift 5 этот код не работает. Кто-нибудь может подскажите пожалуйста как это исправить?

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
    if let url  = NSURL(string: (mindata["img"] as? String)!), data = NSData(contentsOfURL: url)
    {
        dispatch_async(dispatch_get_main_queue(), {
            cell.img.image = UIImage(data: data)
        })
    }
})

1 Ответ

0 голосов
/ 17 апреля 2019

Похоже, вы пытаетесь визуализировать изображение в ImageView ячейки с помощью Async Dispatch Queue, верно? Если то, что я сказал, верно, не могли бы вы попробовать этот код вместо этого?

    if let url = URL(string: mindata["img"]) {
        do {
            let data = try Data(contentsOfURL: url)

            if data == nil {
                DispatchQueue.main.async {
                    cell.img.image = UIImage(data: data)
                }
            } else {
                print("Data is Nil")
            }
        } catch {
            //error from Data(contentsOfUrl to catch
        }
    } else {
        // the URL was bad!
    }

Ссылка: https://www.hackingwithswift.com/example-code/strings/how-to-load-a-string-from-a-website-url

...