Для вызовов метода с внешними именами параметров я могу CMD -Щелкните в Xcode на любом имя параметра, чтобы перейти к определению метода. Для например, в«Перейти к определению» для методов без имен внешних параметров
let a = Array(count: 3, repeatedValue: 0)
CMD -Click на «кол» или «repeatedValue» переходит непосредственно к методу Array
инициализатора
init(count: Int, repeatedValue: Element)
Однако я не нашел способ сделать то же самое для методов вызывает без имен внешних параметров, как в
let c = Array("abc".characters)
Конечно, я могу Lookup, что метод characters
возвращает String.CharacterView
, который в свою очередь соответствует к SequenceType
, так что это будет называть Array
Initializer
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)
Не можете ли вы нажать «Массив»? Я даже не думал нажимать на имена параметров и всегда нажимал на часть за пределами parens. (Я думаю, в этом случае он просто переходит к объявлению класса, а не к определенному инициализатору.) – nhgrif
@nhgrif: Точно, cmd-click на «Array» перескакивает в 'public struct Array: ...', то есть не что я ищу. –