Xcode 4中多参数方法名称的代码完成

Xcode 4中多参数方法名称的代码完成,xcode,xcode4,code-completion,Xcode,Xcode4,Code Completion,在Xcode4中,我发现对于第一部分很常见的多参数方法名,我无法使代码完成容易地缩小范围。例如,考虑以下方法: 这一清单还在继续;有很多方法可以启动tableView。如果我键入“tableView”,列表很长,无法快速导航。如果我键入“tableView:”,则只要我键入冒号(:),代码完成就会退出。如果我键入“tableViewview”之类的运行,完成也会退出,可能是因为它不再与第一个方法名部分完全匹配 在这样的列表中,是否有一些方法可以通过键盘来完成,而无需借助鼠标四处移动或发出随机数目

在Xcode4中,我发现对于第一部分很常见的多参数方法名,我无法使代码完成容易地缩小范围。例如,考虑以下方法:

这一清单还在继续;有很多方法可以启动
tableView
。如果我键入“tableView”,列表很长,无法快速导航。如果我键入“tableView:”,则只要我键入冒号(:),代码完成就会退出。如果我键入“tableViewview”之类的运行,完成也会退出,可能是因为它不再与第一个方法名部分完全匹配

在这样的列表中,是否有一些方法可以通过键盘来完成,而无需借助鼠标四处移动或发出随机数目的箭头键点击来浏览长长的列表?我很难相信多参数Objective-C方法的代码完成是如此有限,但到目前为止,无论是实验还是文档都没有证明这一点

更新澄清:
上面我指的是方法声明的完成(例如在.m文件中),而不是方法调用的完成。对于方法调用,Xcode 4.x独立完成每个方法参数部分;这很有效。上述问题仅适用于声明,通常是在开始在.m文件中编写新方法实现时。

您所期望的行为(不幸的是)似乎没有在Xcode中实现。但是,我发现了一个部分解决方案:当您指定多参数方法的完整的第一部分时,代码完成就起作用,即如果您键入此项(末尾有空格)

然后按ESCAPE键,代码完成对话框将出现,您将能够继续键入方法名称的其余部分

你可能想知道:

“哦,天哪,我真的必须输入这么长的序言才能得到答案吗 我的代码完成?”

代码片段来拯救!你只需要输入一次序言就可以了。我发现最好按照以下方式进行配置,不要忘记在代码部分末尾添加空格,这样会使事情变得更简单

你应该如何使用你刚刚创造的东西?在.m文件中开始键入
tabl
,Xcode将允许您自动完成代码段。放置序言后,按ESC键显示自动完成列表


此解决方案不是很健壮,因为您必须为要使用的每个多部分方法创建一个代码段,但它确实节省了一些时间,而且没有那么多多的多部分方法名称共享相同的前缀。

哦,抱歉,我提到的协议存根的工作方式与您在更新中希望的方式不同。 为此,我使用mac app store中的一个应用程序来全面实现您要实现的委托/协议方法的声明。希望对你有所帮助

旧职位:

我使用标签⇥ 为了这个。 我经常举的例子是: 您需要在代码完成中使用许多init方法之一

然后,您不想向下滚动或使用多次按键来获得正确的方法

点击i>点击标签⇥ > <代码>初始化已完成

逃逸⎋ 然后是w,然后是Tab⇥ 对于所有这些
initWith
方法

你甚至可以使用Tab⇥ / 逃跑⎋ 在第一个参数之后,存在多个仅具有一个参数的方法时

在您的情况下,点击t>Tab⇥ > 逃跑⎋ > 回程↩, 这是你的第三种方法。
还可以使用Shift键跳转到上一个代码完成参数⇧ + 标签⇥.

这个问题困扰了我很长时间。现在我可以验证,即使在最新的Xcode 5中也没有办法,我提交了一份错误报告:


如果您也需要,请复制。

我也面临同样的问题!
- tableView:viewForHeaderInSection:
- tableView:heightForHeaderInSection:
- tableView:accessoryTypeForRowWithIndexPath:
...
- tableView:(UITableView *)tableView