setImage
не изменяет свойство image
автоматически. Он должен потенциально загрузить изображение из Inte rnet, что требует времени.
К счастью, вы можете узнать, когда загрузка будет завершена, добавив completionHandler
:
iv.kf.setImage(with: url, completionHandler: { result in
guard case .success(let imageResource) = result else {
// an error has occurred!
return
}
if let png = imageResource.image.jpegData(compressionQuality: .leastNormalMagnitude){
filePath.putData(png, metadata: nil){ metadata, error in
print("metadata: \(metadata) |error: \(error)") // doesn't print
}
}
})