哪个是具有类前缀或没有前缀的委托方法中更好的约定?

时间:2014-01-20 02:10:08

标签: ios objective-c

在决定我所制作的任何课程的代表姓名时,我一直在为哪种惯例更好而苦恼。我通常将应用程序前缀添加到方法的头部,如下所示:

@interface HKKHelloWorld <NSObject>
...
@end

@protocol HKKHelloWorldDelegate <NSObject>
- (void)HKKHelloWorld:(HKKHelloWorld *)helloworld didFinishWorkWithIndex:(NSUInteger)index;
@end

最近,我在一个决定问题中是否添加前缀是否合适 我相信StackOverflow中的人能够给我建议以制定更好的约定。

简而言之, 对于一个类的委托来说哪个更好的约定?

- (void)HKKHelloWorld:(HKKHelloWorld *)helloworld didFinishWorkWithIndex:(NSUInteger)index;

- (void)helloWorld:(HKKHelloWorld *)helloworld didFinishWorkWithIndex:(NSUInteger)index;

3 个答案:

答案 0 :(得分:4)

当您的名字可能与其他名称冲突时,您只需要使用前缀。这意味着类名,它们都在一个名称空间,方法和类别中,您将添加到其他人的类和协议。

您自己的类中的方法位于自己的命名空间中,不需要前缀。它应该留在那里。

答案 1 :(得分:3)

两者在语法上都是正确的,但第二个更好,

- (void)helloWorld:(HKKHelloWorld *)helloworld didFinishWorkWithIndex:(NSUInteger)index;

以上签名看起来与cocoa objective-C编码标准相同。请参阅此doc

答案 2 :(得分:2)

我不知道一种方式是否从根本上优于另一种方式,但前缀有时可以帮助Xcode的自动完成。