【问题标题】:Find method references in Xcode在 Xcode 中查找方法引用
【发布时间】:2011-08-22 07:41:55
【问题描述】:

在 Xcode 中有没有一种方法可以找到调用方法或属性的所有位置?

例如,在 Eclipse 中,您可以右键单击一个方法并选择查找引用。 Xcode中有没有类似的东西?

【问题讨论】:

    标签: xcode ide


    【解决方案1】:
    1. 选择您感兴趣的方法,或将文本光标置于其中。
    2. 通过编辑器左上角的图标打开“相关文件”菜单。 (它是紧靠后退按钮左侧的按钮)。
    3. 转到“调用者”子菜单以查看调用所选方法的所有方法的列表,然后单击其中任何一个以跳转到该文件和方法。

    在图片中...

    几点说明:

    • 您也可以对属性执行此操作。
    • 请注意,当您从 Callers 菜单中选择调用方法以跳转到调用方法的位置时,Xcode 仅突出显示 first 调用。每个调用方法只会在“调用者”列表中显示一次,即使它包含对您的方法的多次调用。因此,如果您尝试在应用程序中调用方法的每个地方进行一些更改,请注意不要错过调用方法包含对您感兴趣的方法的两次调用的地方。

    【讨论】:

    • ^1中调出菜单的默认快捷方式,所以我通常可以按^1, c, enter调出列表。
    • 这会找到方法的所有调用者和父实现。有没有办法找到only这个实现的调用者?
    • @DanielKaplan 我猜不会,因为至少在某些情况下,编译器无法知道要调用哪个实现。
    • 我的方法被称为init,这也带来了任何名为init 的方法。没那么聪明……
    • 这是一个好方法,但有时 xcode(我目前有 12.5)会出现错误,并且此菜单“相关文件”仅显示“最近的文件”和“本地修改的文件”。在这种情况下重新启动 Xcode 或使用 Command+shift+A
    【解决方案2】:

    是的,打开 Assistant 编辑器,而不是 Counterparts 选择 Callers。

    【讨论】:

    • 您没有必须为此使用拆分编辑器,尽管如果您要快速连续编辑大量调用方法可能会很方便。看我的回答。
    【解决方案3】:

    选择函数,按 cmd-shift-A,“来电者”

    【讨论】:

      【解决方案4】:

      从 XCode 4.5 开始,您可以在搜索导航器的搜索字段中单击“显示查找选项”。在那里你可以指定“符号引用”

      【讨论】:

      • 这比裸搜索略有改进,但它返回 all 引用,而不仅仅是您要查找的特定引用。例如,如果您有一个具有“高度”属性的类,则在您的高度属性上搜索符号引用将返回对您使用的各种其他高度属性的引用,因此您仍然需要筛选结果以找到您想。对于一个相当不错的 hack,请参见:stackoverflow.com/a/5457479/850721
      【解决方案5】:

      将插入点放在方法调用或声明中,然后选择 Find > Find Selected Symbol In Project。对于多部分选择器,这只会突出显示第一部分,但搜索似乎确实相对可靠。您也可以使用 Find Call Hierarchy 来突出显示整行。

      相应的上下文菜单项(在工作区中查找选定的符号)也可以工作,但要使其正常工作有点棘手。确保没有选择任何文本,否则它将搜索所选单词而不是整个选择器。为此,您可以先用鼠标左键单击,然后再用鼠标右键单击(或按住 Control 键单击)同一位置。上下文查找调用层次结构没有这样的问题。

      【讨论】:

      • 拥有相同的键盘快捷键也非常有用,调试变得如此之快
      【解决方案6】:

      使用 xcode 4,您现在可以右键单击引用并选择“跳转到定义”。

      【讨论】:

      • 这回答了相反的问题。
      猜你喜欢
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多