В подавляющем большинстве случаев нам подойдёт вариант:
let image = UIImage(named: "big-image")
imageView.image = imageНо вот если картинка действительно крупная, то это может визуально подвесить приложуху на какое-то время.
Особеннно это проявится, например, при работе с коллекциями.
В таком случае можно справедливо обратиться к документации (и к совету Винсента), в которых говорится о том, что всё-таки есть ещё один способ.
🐱 prepareForDisplay декодирует нашу картинку в фоновом потоке, и уже после этого можно использовать результат из completionHandler.
Важно не забыть вернуться в основной поток, конечно же.
Или использовать
Task, если вы уже перевели (или переводите проект для Swift Concurrency).🍏 Кстати, большое количество материалов в базе знаний поможет быстрее разобраться со Swift Concurrency.
😃 iOS Dev
