Swift 使用闭包实例化Typealias变量的语法
我正在努力找出/理解实例化一个类型为包含多个闭包的typealias的变量的正确语法 我有以下闭包类型别名Swift 使用闭包实例化Typealias变量的语法,swift,syntax,Swift,Syntax,我正在努力找出/理解实例化一个类型为包含多个闭包的typealias的变量的正确语法 我有以下闭包类型别名 public typealias SuccessReturnBlock = (JSON?) -> Void public typealias FailureBlock = (_ category: String, _ description: String) -> Void 对于这两种类型,我正在创建另一个typealias,它由组合响应组成 typealias comple
public typealias SuccessReturnBlock = (JSON?) -> Void
public typealias FailureBlock = (_ category: String, _ description: String) -> Void
对于这两种类型,我正在创建另一个typealias,它由组合响应组成
typealias completionBlock = (@escaping SuccessReturnBlock, @escaping FailureBlock)->Void
现在我想尝试使用AliascompletionBlock
类型的类变量,因此我尝试了以下操作:
var completionReturnBlock: completionBlock = { (success, failure) in
success(response)
}
我知道上面返回的是未解析标识符的错误,因为我没有在声明中的任何地方定义“response”,所以我尝试将如下内容组合在一起:
var completionReturnBlock: completionBlock = { success: { (response) in
}, failure in {
}
}
但这是不正确的,并抛出“closure参数的上下文类型需要2个参数。我如何为
completionBlock
编写正确的声明/实例化?”正确的声明/实例化是什么意思"? 你想让它做什么?response
应该来自哪里?在第二个示例中,您想做什么completionBlock
是一个闭包,它需要向它传递两个参数(这两个参数本身就是闭包)。您是否打算将completionBlock
设置为包含两个闭包的元组?我希望将completionReturnBlock
设置为来自其他函数的回调<代码>响应将来自异步web调用。对于不需要响应的块,我可以执行类似于var completion:completionBlockNoReturn={(success,failure)in success()}