Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 使用闭包实例化Typealias变量的语法_Swift_Syntax - Fatal编程技术网

Swift 使用闭包实例化Typealias变量的语法

Swift 使用闭包实例化Typealias变量的语法,swift,syntax,Swift,Syntax,我正在努力找出/理解实例化一个类型为包含多个闭包的typealias的变量的正确语法 我有以下闭包类型别名 public typealias SuccessReturnBlock = (JSON?) -> Void public typealias FailureBlock = (_ category: String, _ description: String) -> Void 对于这两种类型,我正在创建另一个typealias,它由组合响应组成 typealias comple

我正在努力找出/理解实例化一个类型为包含多个闭包的typealias的变量的正确语法

我有以下闭包类型别名

public typealias SuccessReturnBlock = (JSON?) -> Void
public typealias FailureBlock = (_ category: String, _ description: String) -> Void
对于这两种类型,我正在创建另一个typealias,它由组合响应组成

typealias completionBlock = (@escaping SuccessReturnBlock, @escaping FailureBlock)->Void
现在我想尝试使用Alias
completionBlock
类型的类变量,因此我尝试了以下操作:

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()}