Xcode中的私有方法

时间:2011-02-11 00:45:45

标签: objective-c xcode

我喜欢将纯粹的内部方法与我的类的公共API分开,因此我的.m文件中有很多私有类别,例如

@interface Foo (Foo_Private)

-(void)clicked:(id)sender;

@end

问题在于,当我使用方法下拉列表(也称为Ctrl-2)时,私有方法声明都会首先出现,因此当我在下拉列表打开时开始键入“clicked”时,方法声明会被选中而不是实现,所以我基本上不可能通过键盘导航。

这真烦人。有没有办法解决?我见过人们建议你将私有方法声明保存在“Foo_Private.h”中,但我不必为每个使用私有方法的类创建一个单独的头。

1 个答案:

答案 0 :(得分:4)

如果在打开函数下拉列表时按住修改键(特定修饰符取决于Xcode的版本,IIRC),它会按字母顺序而不是按源顺序对函数进行排序。这将允许您键入以跳转到正确的方法。

在不相关的注释中,您可以使用类扩展而不是类别。它们看起来像一个类别,除了它们之间没有任何内容,如

@interface Foo ()

这个类别的主要好处是你可以在@implementation内部声明(或重新声明,改变readonly-> readwrite)属性。