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

Joh*_*ley 17 xcode code-completion xcode4

在XCode4中,我发现我无法获得代码完成,以便在第一部分常见的多参数方法名称中容易缩小.例如,请考虑以下方法UITableViewDelegate:

- tableView:viewForHeaderInSection:
- tableView:heightForHeaderInSection:
- tableView:accessoryTypeForRowWithIndexPath:
...
Run Code Online (Sandbox Code Playgroud)

名单还在继续; 有很多方法可以开始tableView.如果我输入"tableView",列表很长并且不能快速导航.如果我输入"tableView:",则在输入冒号(:)后立即退出代码完成.如果我键入一个run-on,例如"tableViewview",则完成也会退出,大概是因为它不再与第一个方法名称部分字面匹配.

有没有办法通过键盘在这样的列表上完成,而不是通过鼠标左键或咔哒一声随机数量的箭头键命中导航长列表?我很难相信多参数Objective-C方法的代码完成是如此有限,但到目前为止,实验和文档都没有证明是有启发性的.

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

Bar*_*ski 6

看来,您所期望的行为(遗憾的是)未在Xcode中实现.但是,我找到了一个部分解决方案:当您指定多参数方法的完整第一部分时,即如果您键入此(在末尾带有空格),代码完成就会起作用

- tableView:(UITableView *)tableView 
Run Code Online (Sandbox Code Playgroud)

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

你可能想知道:

"哦,孩子,我真的必须输入这个长序言才能让我的代码完成吗?"

代码片段拯救!您只需输入一次序言并将其转换为片段.我发现最好按照以下方式配置它,不要忘记在代码部分的末尾添加空格,它会使事情变得更容易.

我是一个

你应该如何使用刚才创造的东西?在你的.m文件中,开始输入tabl和Xcode将让你自动完成代码片段.放置前导码后,按ESC键显示自动完成列表.

此解决方案不是非常强大,因为您必须为要使用的每个多部分方法创建一个片段,但它确实节省了一些时间,并且没有那么多的多部分方法名称共享相同的前缀.