Итак, после 5 часов солидного ругательства мне удалось преобразовать свой проект из Swift 2.2 в Swift 3. Вещь строится, и все теперь подкованное, с одним небольшим исключением.Swift 3 Загрузка изображения не работает полностью
По какой-то причине мои изображения не являются загрузкой Async, как раньше.
Я записал небольшое видео, чтобы показать вам, и некоторые примеры кода. Я пытаюсь как AlamofireImage, так и просто расширять Swift Extension, оба дают такое же поведение. Как вы можете видеть на видео, изначально изображения вообще не загружаются (также я замечаю, что по какой-то причине исходное изображение по умолчанию не отображается первоначально) Когда я вытягиваю, чтобы обновить представление, они внезапно появляются.
Если кто-либо видел что-либо подобное, я был бы признателен за помощь, если это возможно.
Видео here
примеры кода таким образом: функции расширения
func downloadedFrom(url: URL, contentMode mode: UIViewContentMode = .scaleAspectFit) {
contentMode = mode
URLSession.shared.dataTask(with: url) { (data, response, error) in
guard
let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200,
let mimeType = response?.mimeType, mimeType.hasPrefix("image"),
let data = data, error == nil,
let image = UIImage(data: data)
else { return }
DispatchQueue.main.async() {() -> Void in
self.image = image
}
}.resume()
}
func downloadedFrom(link: String, contentMode mode: UIViewContentMode = .scaleAspectFit) {
guard let url = URL(string: link) else { return }
downloadedFrom(url: url, contentMode: mode)
}
Также мое использование AlamofireImage для одной ячейки только для проверки
if nc.returnCommentDetails().image != "" {
let url = URL(string: nc.returnCommentDetails().image!)
cell.imgProfile.af_setImage(withURL: url!)
cell.imgProfile.resizeForProfilePic()
}
У меня была та же проблема. Когда я прокомментировал линию с cornerRadius, изображения только что показали – user3126427