|
|
@@ -54,7 +54,7 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
placeholder: KFCrossPlatformImage? = nil,
|
|
|
options: KingfisherOptionsInfo? = nil,
|
|
|
progressBlock: DownloadProgressBlock? = nil,
|
|
|
- completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ completionHandler: (@Sendable (Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
{
|
|
|
let options = KingfisherParsedOptionsInfo(KingfisherManager.shared.defaultOptions + (options ?? .empty))
|
|
|
return setImage(
|
|
|
@@ -87,7 +87,7 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
placeholder: KFCrossPlatformImage? = nil,
|
|
|
options: KingfisherOptionsInfo? = nil,
|
|
|
progressBlock: DownloadProgressBlock? = nil,
|
|
|
- completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ completionHandler: (@Sendable (Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
{
|
|
|
return setImage(
|
|
|
with: resource?.convertToSource(),
|
|
|
@@ -102,7 +102,7 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
placeholder: KFCrossPlatformImage? = nil,
|
|
|
parsedOptions: KingfisherParsedOptionsInfo,
|
|
|
progressBlock: DownloadProgressBlock? = nil,
|
|
|
- completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ completionHandler: (@Sendable (Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
{
|
|
|
var mutatingSelf = self
|
|
|
guard let source = source else {
|
|
|
@@ -127,11 +127,13 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
let task = KingfisherManager.shared.retrieveImage(
|
|
|
with: source,
|
|
|
options: options,
|
|
|
- downloadTaskUpdated: { mutatingSelf.imageTask = $0 },
|
|
|
+ downloadTaskUpdated: { task in
|
|
|
+ Task { @MainActor in mutatingSelf.imageTask = task }
|
|
|
+ },
|
|
|
progressiveImageSetter: { self.base.image = $0 },
|
|
|
referenceTaskIdentifierChecker: { issuedIdentifier == self.taskIdentifier },
|
|
|
completionHandler: { result in
|
|
|
- CallbackQueue.mainCurrentOrAsync.execute {
|
|
|
+ CallbackQueueMain.currentOrAsync {
|
|
|
guard issuedIdentifier == self.taskIdentifier else {
|
|
|
let reason: KingfisherError.ImageSettingErrorReason
|
|
|
do {
|
|
|
@@ -183,7 +185,7 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
placeholder: KFCrossPlatformImage? = nil,
|
|
|
options: KingfisherOptionsInfo? = nil,
|
|
|
progressBlock: DownloadProgressBlock? = nil,
|
|
|
- completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ completionHandler: (@Sendable (Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
{
|
|
|
let options = KingfisherParsedOptionsInfo(KingfisherManager.shared.defaultOptions + (options ?? .empty))
|
|
|
return setAlternateImage(
|
|
|
@@ -216,7 +218,7 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
placeholder: KFCrossPlatformImage? = nil,
|
|
|
options: KingfisherOptionsInfo? = nil,
|
|
|
progressBlock: DownloadProgressBlock? = nil,
|
|
|
- completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ completionHandler: (@Sendable (Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
{
|
|
|
return setAlternateImage(
|
|
|
with: resource?.convertToSource(),
|
|
|
@@ -231,7 +233,7 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
placeholder: KFCrossPlatformImage? = nil,
|
|
|
parsedOptions: KingfisherParsedOptionsInfo,
|
|
|
progressBlock: DownloadProgressBlock? = nil,
|
|
|
- completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ completionHandler: (@Sendable (Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
{
|
|
|
var mutatingSelf = self
|
|
|
guard let source = source else {
|
|
|
@@ -266,9 +268,11 @@ extension KingfisherWrapper where Base: NSButton {
|
|
|
let task = KingfisherManager.shared.retrieveImage(
|
|
|
with: source,
|
|
|
options: options,
|
|
|
- downloadTaskUpdated: { mutatingSelf.alternateImageTask = $0 },
|
|
|
+ downloadTaskUpdated: { task in
|
|
|
+ Task { @MainActor in mutatingSelf.alternateImageTask = task }
|
|
|
+ },
|
|
|
completionHandler: { result in
|
|
|
- CallbackQueue.mainCurrentOrAsync.execute {
|
|
|
+ CallbackQueueMain.currentOrAsync {
|
|
|
guard issuedIdentifier == self.alternateTaskIdentifier else {
|
|
|
let reason: KingfisherError.ImageSettingErrorReason
|
|
|
do {
|