2014-01-20 52 views
0

當我決定任何班級代表的名字時,我一直在苦苦思考哪個公約更好。我通常的應用添加前綴的方法頭如下:什麼樣的委託方法與類前綴或沒有前綴更好的約定?

@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; 

回答

4

只有當您的姓名與其他姓名衝突時,您才需要使用前綴。這意味着類名稱,它們都在一個名稱空間,方法和類別中,您將添加到其他人的類和協議。

您自己的類中的方法位於它們自己的名稱空間中,並且不需要前綴。它應該放在那裏。

2

我不知道,如果一個方法是從根本上優於其他,但前綴有時可以幫助很多與Xcode的自動完成。

3

兩者都是語法正確的,但第二個的爲佳,

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

上面簽名看起來像可可一樣客觀-C編碼標準。看到這個doc