fix: iOS 12 crash - failed to demangle superclass of UIClosureObserverOperation from mangled name '\M^? \^Hp\M-}\M^?'
This commit is contained in:
parent
2ea88a94aa
commit
1e3b986c83
|
|
@ -22,32 +22,20 @@
|
|||
|
||||
import Foundation
|
||||
|
||||
class BaseClosureObserverOperation<Output, Failure: Error, ResultClosureType>: DependendAsyncOperation<Output, Failure> {
|
||||
typealias OnResultClosure = ResultClosureType
|
||||
|
||||
let onResult: OnResultClosure?
|
||||
|
||||
init(dependency: AsyncOperation<Output, Failure>,
|
||||
onResult: OnResultClosure? = nil) {
|
||||
|
||||
self.onResult = onResult
|
||||
|
||||
super.init(dependency: dependency) { $0 }
|
||||
}
|
||||
}
|
||||
|
||||
private final class ClosureObserverOperation<Output, Failure: Error>:
|
||||
BaseClosureObserverOperation<Output, Failure, (Result<Output, Failure>) -> Void> {
|
||||
private final class ClosureObserverOperation<Output, Failure: Error>: DependendAsyncOperation<Output, Failure> {
|
||||
typealias OnResultClosure = (Result<Output, Failure>) -> Void
|
||||
|
||||
private let onResult: OnResultClosure?
|
||||
private let callbackQueue: DispatchQueue
|
||||
|
||||
init(dependency: AsyncOperation<Output, Failure>,
|
||||
onResult: OnResultClosure? = nil,
|
||||
callbackQueue: DispatchQueue = .main) {
|
||||
|
||||
self.onResult = onResult
|
||||
self.callbackQueue = callbackQueue
|
||||
|
||||
super.init(dependency: dependency, onResult: onResult)
|
||||
super.init(dependency: dependency) { $0 }
|
||||
}
|
||||
|
||||
override func handle(result: Result<Output, Failure>) {
|
||||
|
|
@ -60,8 +48,18 @@ private final class ClosureObserverOperation<Output, Failure: Error>:
|
|||
}
|
||||
}
|
||||
|
||||
private final class UIClosureObserverOperation<Output, Failure: Error>:
|
||||
BaseClosureObserverOperation<Output, Failure, @MainActor (Result<Output, Failure>) -> Void> {
|
||||
private final class UIClosureObserverOperation<Output, Failure: Error>: DependendAsyncOperation<Output, Failure> {
|
||||
typealias OnResultClosure = @MainActor (Result<Output, Failure>) -> Void
|
||||
|
||||
private let onResult: OnResultClosure?
|
||||
|
||||
init(dependency: AsyncOperation<Output, Failure>,
|
||||
onResult: OnResultClosure? = nil) {
|
||||
|
||||
self.onResult = onResult
|
||||
|
||||
super.init(dependency: dependency) { $0 }
|
||||
}
|
||||
|
||||
override func handle(result: Result<Output, Failure>) {
|
||||
self.result = result
|
||||
|
|
|
|||
Loading…
Reference in New Issue