Я использую SDK, разработанный в Objective-C.Мое приложение является гибридным (поддерживает как Objc, так и Swift), и мне нужно использовать блок завершения SDK.На стороне SDK это было определено как,
typedef void (^SomethingCompletionBlock)(NSArray<id<Something> > *_Nullable result, NSError *_Nullable error);
На стороне приложения мне нужно использовать, как,
SDKService.fetchSomething(withModel: model) { (result, error) in
if error != nil {
completionBlock(result, error?)
}
}
Интересно, что было бы подписью completeBlock в моей части Swift?Я пытаюсь что-то вроде ниже, но получаю ошибку.
typealias SomethingSearchCompletionBlock = (result: Array<Something>?, error: Error?)
Ошибка:
Невозможно вызвать значение не функционального типа 'SomethingSearchCompletionBlock' (aka '(результат: Optional>,ошибка: необязательно) ')