【发布时间】:2020-12-24 19:40:31
【问题描述】:
在 Xcode 中,如何找到特定函数的所有调用者函数?
【问题讨论】:
-
顺便说一句,我在我的答案中附上了一张图片。现在的 XCode 版本支持这一点。如果您对任何答案感到满意,您愿意投票/接受答案吗??
-
@uiroshan 下面的回答是最方便的,如果你经常这样做(⌘+Ctrl+Shift+H)
标签: xcode
在 Xcode 中,如何找到特定函数的所有调用者函数?
【问题讨论】:
标签: xcode
Xcode 4.5(测试版)具有此功能。当您突出显示说...一个功能时,您可以检查“调用者”和“被调用者”
edit 我相信它位于该文件的文件面板的左上角...所以双击该功能以突出显示它,然后单击文件面板选项(一个具有“最近打开,打开未保存...等”下拉菜单
编辑#2
这里有一张图澄清一下(因为我不知道这个菜单按钮叫什么):
另外 - 我相信 XCode 4.5 不再是测试版,实际上已经公开了
编辑#3
还请注意,此调用者事物不会搜索在 performSelector 方法下被调用,例如,如果您执行以下操作,则具有此 performSelector 的特定调用者将不会出现:
[self performSelector:@selector(checkIfShouldStopMovement) withObject:nil afterDelay:0.25];
【讨论】:
在 Xcode 中,最快的方法是这样的:
这是在 Xcode 的菜单中查看 -> 编辑器 -> 显示相关项目的快捷方式。
【讨论】:
在 Xcode 7 及更高版本上使用 ⌘+Ctrl+Shift+H 组合键。
【讨论】:
这也可以通过助手编辑器访问,如下面的屏幕截图所示。无论您在左侧的主编辑器中使用哪种方法,其调用者都会显示在辅助编辑器中。我发现这是连续查看每个呼叫者的最佳方式,因为一旦您选择了“呼叫者”,您就可以通过跳转栏中右侧的下一个弹出菜单选择下一个呼叫者。
【讨论】:
在 Xcode-7 中,您具有获取调用层次结构的功能。右键单击该函数,然后单击“查找调用层次结构”: image reference:
【讨论】:
将项目中的查找用作文本或符号。
AFAIK,没有等同于例如来自 Eclipse 或 NetBeans 的调用层次结构。
【讨论】:
奇怪的是,重构工具可以检测所有方法调用,但不能检测搜索。
所以我只是使用它将我的方法重命名为唯一名称(例如重置为 resetPlayer),然后在常规文本搜索中使用新名称。
1.) 菜单 > 编辑 > 重构... > 重命名为唯一名称
2.) 搜索新名称
【讨论】:
该功能在 XCode 4.4.1 中可用,请参阅:http://smilingfinney.blogspot.de/2012/09/method-callers-in-xcode-44.html
【讨论】: