在决定我所制作的任何课程的代表姓名时,我一直在为哪种惯例更好而苦恼。我通常将应用程序前缀添加到方法的头部,如下所示:
@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;
答案 0 :(得分:4)
当您的名字可能与其他名称冲突时,您只需要使用前缀。这意味着类名,它们都在一个名称空间,方法和类别中,您将添加到其他人的类和协议。
您自己的类中的方法位于自己的命名空间中,不需要前缀。它应该留在那里。
答案 1 :(得分:3)
两者在语法上都是正确的,但第二个更好,
- (void)helloWorld:(HKKHelloWorld *)helloworld didFinishWorkWithIndex:(NSUInteger)index;
以上签名看起来与cocoa objective-C编码标准相同。请参阅此doc。
答案 2 :(得分:2)
我不知道一种方式是否从根本上优于另一种方式,但前缀有时可以帮助Xcode的自动完成。