【发布时间】:2015-10-12 08:14:47
【问题描述】:
在swift中,如何定义一个带有可选参数的函数谁是函数? 例如,我有这样的功能: func 测试(处理程序:Int -> Void) 我希望参数处理程序是可选的,实际上,这意味着处理程序参数类型应该是可选函数,那该怎么办?
【问题讨论】:
在swift中,如何定义一个带有可选参数的函数谁是函数? 例如,我有这样的功能: func 测试(处理程序:Int -> Void) 我希望参数处理程序是可选的,实际上,这意味着处理程序参数类型应该是可选函数,那该怎么办?
【问题讨论】:
真的就像任何其他类型一样。所以对于非可选的:
func test(handler: (Int) -> (Void))
可选版本将变为:
func test(handler: ((Int) -> (Void))?)
另一种思考方式是,如果我们要为处理程序创建一个typealias,它将类似于:
typealias handlerCallback = (Int) -> (Void)
func test(handler: handlerCallback) // The non-optional version
func test(handler: handlerCallback?) // The optional version
我希望这是有道理的
【讨论】: