Я определил typealias как это:
public typealias ResponseCompletion<T> = (Result<T>, [AnyHashable: Any]?) -> Void
Тогда у меня есть класс со связанным методом:
public func load<T>(completion: @escaping ResponseCompletion<T>)
это работает нормально, пока я не перешлю обработчик завершения из этого метода в другой. Но теперь у меня есть требование хранить обработчик завершения для последующего использования.
Когда я делаю что-то вроде этого:
class ServiceOperation<T: Any>: Operation {
private let completion: ResponseCompletion<T>
А потом попробуйте сохранить обработчик
public func load<T>(Result<T>, [AnyHashable: Any]?) -> Void {
self.completion = completion
}
Я получаю следующую ошибку:
Cannot assign value of type 'ResponseCompletion<T>' (aka '(Result<T>, Optional<Dictionary<AnyHashable, Any>>) -> ()') to type '(Result<T>, [AnyHashable : Any]?) -> Void'
У кого-нибудь есть идея, как правильно определить свойство, чтобы я мог хранить обработчик завершения?