swift – 定义函数类型时,元组类型中不允许使用默认参数

我有这样的功能
func next(step: Int = 1){
    //....
}

现在我想定义一个类型别名,以便我可以轻松地传递这个函数.

但是我无法找到声明第一个参数具有认值的方法.我尝试过这样的事情

typealias ActionNext = (step: Int = default) -> ()

var nextFunc: ActionNext = next

但他们都给我一个错误信息

Default argument not permitted in a tuple type

有没有办法为这种函数定义一个类型?

不,那是不可能的

说明:

A type alias declaration introduces a named alias of an existing type into your program.

(步骤:Int = 1) – > ()不是一个合适的类型.例如,类型(步骤:Int) – > (),那里不允许认值.

如果你写

typealias ActionNext = (Int) -> ()

var nextFunc: ActionNext = next

有用.或者甚至在你写作时(步骤:Int) – > ()

但我假设你想要实现的是能够调用nextFunc()省略参数并使用其认值.这是不可能的.要理解原因,可以按照Type Alias Declaration语法 – 在类型中指定认值.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...