По какой-то причине мой фотолимп не обновляется постоянно, иногда иногда это не так.Скачано изображение не всегда отображается сразу
Я уверен, что это как-то связано с асинхронными вызовами, но я застрял, пытаясь выяснить причину, почему его не обновляют. Таким образом, это в моем mainVC и для пользователя, чтобы загрузить/обновить изображение, они идут в settingsVC, и когда они отходят назад, иногда он показывает обновленное изображение, в другое время все еще отображается старое изображение, а другое время ничего не отображается. Но странно, если я нажму на мои настройки и отпущу, тогда изображение будет обновлено.
Итак, я думаю, что моя проблема заключается в том, что я вызываю свой метод и свою асинхронную очередь.
func fetchProfileImage() {
Dataservice.dataService.USERS_REF_CURRENT_PROFILE_IMAGE.downloadURL { (url, error) in
if error != nil {
}
else {
let url = url?.downloadURL
URLSession.shared.dataTask(with: url!, completionHandler: { (data, resonse, error) in
if error != nil {
print("Fetching did not download \(error.debugDescription)")
}
if let data = data {
print("Fetching Image did download data")
DispatchQueue.main.async {
self.profilePhoto.image = UIImage(data: data)
}
}
}).resume()
}
}
}
C пожалуйста, напишите журнал. (Также поместите печать в пустой случай ошибки). – shallowThought