在Xcode中,如何查找特定函数的所有调用函数?
答案 0 :(得分:125)
Xcode 4.5(测试版)具有此功能。当你突出说...一个函数时,你可以检查“来电者”和“被叫者”
编辑我相信它位于该文件的文件面板的左上角...所以双击该功能以突出显示它,然后单击文件面板选项(有一个“开放最近,未开放的未开封......等”下拉
编辑#2
这里有一张图片要澄清(因为我不知道这个菜单按钮叫什么):
另外 - 我相信XCode 4.5不再是测试版,而且实际上是公开的
编辑#3
另请注意,此调用者不会搜索在performSelector
方法下调用的内容,因为如果您执行了以下操作,则具有此performSelector
的特定调用方将不会显示:
[self performSelector:@selector(checkIfShouldStopMovement) withObject:nil afterDelay:0.25];
答案 1 :(得分:52)
在XCode 4.5中,最快的方法是:
这是在XCode的标题菜单中进行View->标准编辑器 - >显示相关项目的快捷方式。
答案 2 :(得分:28)
在XCode 7上使用⌘+ Ctrl + Shift + H组合键。
答案 3 :(得分:23)
也可以通过助理编辑器访问,如下面的屏幕截图所示。无论您在左侧主编辑器中插入插入点的哪种方法都会在助理编辑器中显示其调用者。我发现这是连续查看每个呼叫者的最佳方式,因为一旦选择了“呼叫者”,您就可以通过跳转栏右侧的下一个弹出菜单选择下一个呼叫者。 / p>
答案 4 :(得分:17)
在Xcode-7中,您具有获取呼叫 - heirerchy的功能。右键单击该功能,然后单击"查找呼叫层次结构": image reference:
答案 5 :(得分:4)
在项目中使用“查找”作为文本或符号。
AFAIK,没有相当于例如调用Eclipse或NetBeans中已知的层次结构。
答案 6 :(得分:3)
奇怪的是,重构工具可以检测所有方法调用,但不能检测搜索。
所以我只是用它来将我的方法重命名为一个唯一的名称(例如重置为resetPlayer),然后在常规的文本搜索中使用新名称。
1。)菜单>编辑>重构...>重命名为唯一名称
2。)搜索新名称
答案 7 :(得分:3)
选择感兴趣的方法(使用鼠标或光标)时,按⌘+Ctrl+Shift+H
快捷键。 (根据@uiroshan'答案)
但您也可以在XCode -> Preferences -> Key Bindings
答案 8 :(得分:2)
该功能在XCode 4.4.1中可用,请参阅:http://smilingfinney.blogspot.de/2012/09/method-callers-in-xcode-44.html
答案 9 :(得分:0)