gpt4 book ai didi

objective-c - Swift 中的类型别名闭包

转载 作者:行者123 更新时间:2023-11-28 10:08:46 25 4
gpt4 key购买 nike

我使用的是用 Objective-C 开发的 SDK。我的应用程序是混合的(同时支持 Objc 和 Swift),我需要使用 SDK 的 completionBlock。在 SDK 端,它被定义为,

typedef void (^SomethingCompletionBlock)(NSArray<id<Something> > *_Nullable result, NSError *_Nullable error); 

在App端我需要使用like,

SDKService.fetchSomething(withModel: model) { (result, error) in

if error != nil {

completionBlock(result, error?)

}
}

我想知道我的 Swift 部分中 completionBlock 的签名是什么?我正在尝试类似下面的操作,但出现错误。

typealias SomethingSearchCompletionBlock = (result: Array<Something>?, error: Error?)

错误:

Cannot call value of non-function type 'SomethingSearchCompletionBlock' (aka '(result: Optional>, error: Optional)')

最佳答案

您必须添加 Void 返回值并且不需要参数标签

typealias SomethingSearchCompletionBlock = (Array<Something>?, Error?) -> Void

关于objective-c - Swift 中的类型别名闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50382987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com