我需要將一些方法添加到我的自定義UITextField子類的委託協議中。所以我把它放在標題中:是否可以擴展這樣的協議?
@protocol MyTextFieldDelegate (UITextFieldDelegate)
- (void)textfieldDidSomething:(UITextField*)textField;
@end
這樣好嗎?
我需要將一些方法添加到我的自定義UITextField子類的委託協議中。所以我把它放在標題中:是否可以擴展這樣的協議?
@protocol MyTextFieldDelegate (UITextFieldDelegate)
- (void)textfieldDidSomething:(UITextField*)textField;
@end
這樣好嗎?
原則上我認爲它看起來很好。唯一一點我會做是我會寫這樣的:
@protocol MyTextFieldDelegate (MyTextFieldDelegateExtras)
- (void)textfieldDidSomething:(UITextField*)textField;
@end
從在UITextFieldDelegate
協議中定義的方法來區分它。
不過說真的,如果你想擴展協議,則使用:
@protocol MyTextFieldDelegate <UITextFieldDelegate>
- (void)textfieldDidSomething:(UITextField*)textField;
@end
還添加類別時,其建議將它添加與MyTextFieldDelegate + MyTextFieldDelegateExtras.h
的命名約定一個單獨的文件也許它會有用顯示一些代碼而不是純文本。 – toxicate20 2012-11-26 12:15:20
請參閱[如何在Objective-C中擴展協議/委託](http://stackoverflow.com/questions/732701/how-to-extend-protocols-delegates-in-objective-c) – BoltClock 2010-09-27 11:29:53