在Xcode4中,我可以按Ctrl-6来获得当前文件中所有方法的列表。
问题是,如果我在实现文件的顶部声明了私有方法,比如:
@interface Foo ()
-(void)tap:(id)sender;
@end
@implementation Foo
...
-(void)tap:(id)sender
{
...
}然后,当方法列表可见时,开始输入"tap“将把我带到声明,因为它首先出现在文件中,而我真正想要的是实现。
有没有办法从方法列表中排除这些声明,或者我需要求助于单独的Foo.h和Foo+Private.h头?
谢谢!
发布于 2011-03-28 10:38:44
我不认为有一种方法可以从文档项目弹出窗口中排除方法声明。
但是,如果你养成了使用代码折叠的习惯,你可能就不会那么依赖那个弹出窗口来导航你的源代码了。有用于折叠方法和注释块的命令,您可以使用一个快捷方式来折叠所有方法(command-option-shift-left箭头可折叠,-right箭头可默认展开,当然您也可以自定义这些键)。有关相关命令的完整列表,请参阅编辑器->代码折叠子菜单。
当您将所有注释和方法都折叠到一个.m文件中时,剩下的几乎只有一个方法列表,这样就可以很容易地找到您要查找的内容。然后,您可以只展开该方法或使用另一次击键展开所有方法。当你第一次开始使用folding时,看到所有的代码都消失了,这有点奇怪,但这是一个非常方便的功能。
发布于 2012-08-10 04:35:08
你不需要声明你的私有方法,而且默认情况下你不会再收到警告。因此,一种选择是根本不声明原型。
另外,正如curthipster提到的那样,ctrl-6是一个很好的捷径。我一直在使用这个(不需要鼠标):
或者使用cmd-alt enter打开助手(要关闭,请使用cmd-enter,see more shortcuts here)。您可以让助理编辑器查看相同的文件,例如,它在顶部和底部各有一部分视图。
发布于 2011-03-26 23:03:19
通常,最好为私有方法添加一个命名类别:
#import "Foo.h"
@interface Foo( Private )
- ( void )tap: ( id )sender;
@end
@implementation Foo( Private )
- ( void )tap: ( id )sender
{}
@end
@implementation Foo
...
@end然后你会看到每一个。它可能不会回答您的问题,但至少您会看到您的方法。
还有一件事就是用mark编译指示来组织你的方法:
#pragma mark - Private methods可以帮助您在完成对话框中导航...希望这能帮到你。
https://stackoverflow.com/questions/5359039
复制相似问题