我有这样的功能:
func next(step: Int = 1){ //.... }@H_403_3@现在我想定义一个类型别名,以便我可以轻松地传递这个函数. @H_403_3@但是我无法找到声明第一个参数具有默认值的方法.我尝试过这样的事情
typealias ActionNext = (step: Int = default) -> () var nextFunc: ActionNext = next@H_403_3@但他们都给我一个错误信息
@H_403_3@Default argument not permitted in a tuple type@H_403_3@有没有办法为这种函数定义一个类型?
不,那是不可能的
@H_403_3@说明:
原文链接:https://www.f2er.com/swift/320099.html@H_403_3@A type alias declaration introduces a named alias of an existing type into your program.@H_403_3@(步骤:Int = 1) – > ()不是一个合适的类型.例如,类型(步骤:Int) – > (),那里不允许默认值. @H_403_3@如果你写
typealias ActionNext = (Int) -> () var nextFunc: ActionNext = next@H_403_3@有用.或者甚至在你写作时(步骤:Int) – > () @H_403_3@但我假设你想要实现的是能够调用nextFunc()省略参数并使用其默认值.这是不可能的.要理解原因,可以按照
Type Alias Declaration
语法 – 在类型中指定默认值.