在常规代码中,如果我编写如下内容:

[self performAnActionWithArg:myArg andThisArg:myArg2];

然后,我可以CMD单击“performAnActionWithArg:”,它将带我到该方法的声明。

但是,如何在注释中引用方法以使xCode执行相同的交叉链接行为?可能吗?我尝试了很多变体,例如:
// See [MyClass performAnActionWithArg:myArg andThisArg:myArg2]

但xCode不会将performAnActionWithArg:andThisArg:作为我可以导航到的方法。有任何想法吗?

最佳答案

不是通过cmd单击,而是通过其他方式。

Xcode尝试识别方法名称以使cmd单击有效。之所以会看到这种情况,是因为如果按住cmd键并将鼠标悬停在该方法上,则文本将以蓝色突出显示,即使在注释中也是如此。但是在带注释的代码中,Xcode无法使用编译器来计算出正确的方法名称,因此它经常猜测要突出显示的错误文本。例如,使用以下行:

Cell *cell = [cv dequeueReusableCellWithReuseIdentifier:kCellID forIndexPath:indexPath];

单击Cmd效果很好,但是如果我注释掉,则会突出显示错误的文本:

Xcode尝试查找不存在的名为dequeueReusableCellWithReuseIdentifier:kCellID的东西,因此它报告“未找到符号”。

一个注释,即包含方法名称几乎是起作用:
// dequeueReusableCellWithReuseIdentifier:forIndexPath:

但事实并非如此,因为Xcode错过了最终的:

但是,如果选择整个方法名称,然后在其上单击鼠标右键,则菜单选项之一是“跳转到定义”,该方法有效:

这几乎不像单击cmd那样方便,但是可以。

10-06 12:44
查看更多