对于 带有外部参数名称的 方法调用 , 我可以cmd在Xcode上单击任何参数名称以跳转到方法定义。例如,在
cmd
let a = Array(count: 3, repeatedValue: 0)
一个cmd上的“计数”或“repeatedValue” -click直接跳转到Array初始化方法
Array
init(count: Int, repeatedValue: Element)
但是,我没有找到一种方法来对 没有外部参数名称的 方法调用做同样的事情 ,如
let c = Array("abc".characters)
当然,我可以查找该characters方法返回的a String.CharacterView,而该a依次符合SequenceType,因此它将调用Array初始化程序。
characters
String.CharacterView
SequenceType
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。)
您必须做一些工作:
let c = Array.init("abc".characters) // ^^^^^
使用初始值设定项表达式,然后cmd+单击它。