Swift中的$0代表的是什么?

Swift文档中的Shorthand Argument Names的$0在没有argument list的情况下指的什么?为什么有时候代表的是数组里的元素?它的机制是什么?

阅读 6.3k
1 个回答

Swift 自动为内联函数提供了参数名称缩写功能,您可以直接通过$0,$1,$2来顺序调用闭包的参数。

如果您在闭包表达式中使用参数名称缩写,您可以在闭包参数列表中省略对其的定义,并且对应参数名称缩写的类型会通过函数类型进行推断。 in关键字也同样可以被省略,因为此时闭包表达式完全由闭包函数体构成:

reversed = sorted(names, { $0 > $1 } )

在这个例子中,$0和$1表示闭包中第一个和第二个String类型的参数。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进