2010-09-27 56 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