2010-09-27 19 views
2

我需要將一些方法添加到我的自定義UITextField子類的委託協議中。所以我把它放在標題中:是否可以擴展這樣的協議?

@protocol MyTextFieldDelegate (UITextFieldDelegate) 
- (void)textfieldDidSomething:(UITextField*)textField; 
@end 

這樣好嗎?

+1

請參閱[如何在Objective-C中擴展協議/委託](http://stackoverflow.com/questions/732701/how-to-extend-protocols-delegates-in-objective-c) – BoltClock 2010-09-27 11:29:53

回答

3

原則上我認爲它看起來很好。唯一一點我會做是我會寫這樣的:

@protocol MyTextFieldDelegate (MyTextFieldDelegateExtras) 
- (void)textfieldDidSomething:(UITextField*)textField; 
@end 

從在UITextFieldDelegate協議中定義的方法來區分它。

不過說真的,如果你想擴展協議,則使用:

@protocol MyTextFieldDelegate <UITextFieldDelegate> 
- (void)textfieldDidSomething:(UITextField*)textField; 
@end 
1

還添加類別時,其建議將它添加與MyTextFieldDelegate + MyTextFieldDelegateExtras.h

的命名約定一個單獨的文件
+0

也許它會有用顯示一些代碼而不是純文本。 – toxicate20 2012-11-26 12:15:20