|
|
@@ -43,7 +43,7 @@ extension KFImage {
|
|
|
|
|
|
var downloadTask: DownloadTask?
|
|
|
|
|
|
- var loadingOrSuccessed: Bool = false
|
|
|
+ var loadingOrSucceeded: Bool = false
|
|
|
|
|
|
let onFailureDelegate = Delegate<KingfisherError, Void>()
|
|
|
let onSuccessDelegate = Delegate<RetrieveImageResult, Void>()
|
|
|
@@ -62,12 +62,12 @@ extension KFImage {
|
|
|
|
|
|
func start() {
|
|
|
|
|
|
- guard !loadingOrSuccessed else { return }
|
|
|
+ guard !loadingOrSucceeded else { return }
|
|
|
|
|
|
- loadingOrSuccessed = true
|
|
|
+ loadingOrSucceeded = true
|
|
|
|
|
|
guard let source = source else {
|
|
|
- DispatchQueue.main.async {
|
|
|
+ CallbackQueue.mainCurrentOrAsync.execute {
|
|
|
self.onFailureDelegate.call(KingfisherError.imageSettingError(reason: .emptySource))
|
|
|
}
|
|
|
return
|
|
|
@@ -93,14 +93,16 @@ extension KFImage {
|
|
|
// a `UIImage`)
|
|
|
// https://github.com/onevcat/Kingfisher/issues/1395
|
|
|
let image = value.image.kf.normalized
|
|
|
- DispatchQueue.main.async {
|
|
|
- self.image = image
|
|
|
+ CallbackQueue.mainAsync.execute {
|
|
|
self.isLoaded.wrappedValue = true
|
|
|
+ }
|
|
|
+ CallbackQueue.mainCurrentOrAsync.execute {
|
|
|
+ self.image = image
|
|
|
self.onSuccessDelegate.call(value)
|
|
|
}
|
|
|
case .failure(let error):
|
|
|
- self.loadingOrSuccessed = false
|
|
|
- DispatchQueue.main.async {
|
|
|
+ self.loadingOrSucceeded = false
|
|
|
+ CallbackQueue.mainCurrentOrAsync.execute {
|
|
|
self.onFailureDelegate.call(error)
|
|
|
}
|
|
|
}
|