小编典典

对于没有外部参数名称的方法,“跳转到定义”

swift

对于 带有外部参数名称的 方法调用 我可以cmd在Xcode上单击任何参数名称以跳转到方法定义。例如,在

let a = Array(count: 3, repeatedValue: 0)

一个cmd上的“计数”或“repeatedValue” -click直接跳转到Array初始化方法

init(count: Int, repeatedValue: Element)

但是,我没有找到一种方法来对 没有外部参数名称的 方法调用做同样的事情 ,如

let c = Array("abc".characters)

当然,我可以查找该characters方法返回的a
String.CharacterView,而该a依次符合SequenceType,因此它将调用Array初始化程序。

init<S : SequenceType where S.Generator.Element == _Buffer.Element>(_ s: S)

但我想知道是否有人找到了 针对这种情况的 直接“跳到定义”方法

如果一个类型具有许多重载的init方法(没有外部参数名称)来确定实际调用哪个方法,这将非常有用。

上面的示例来自Swift 2 / Xcode 7 beta,但问题不在于特定的Swift / Xcode版本。

(也发布在Apple开发者论坛上:https :
//forums.developer.apple.com/thread/12687。)


阅读 235

收藏
2020-07-07

共1个答案

小编典典

您必须做一些工作:

let c = Array.init("abc".characters)
//           ^^^^^

使用初始值设定项表达式,然后cmd+单击它。

2020-07-07