【发布时间】:2014-04-24 13:07:06
【问题描述】:
是否可以在子类上使用超类的委托
示例:A 类是 B 类的超类,超类 A 使用文本视图方法示例 textviewDidChange。我可以以某种方式在子类 B 上调用超类 A 的 [super textViewDidChange],即使它不在 A 类的头文件中 如果我在子类 B 上重新声明该方法
【问题讨论】:
标签: ios objective-c uitextviewdelegate
是否可以在子类上使用超类的委托
示例:A 类是 B 类的超类,超类 A 使用文本视图方法示例 textviewDidChange。我可以以某种方式在子类 B 上调用超类 A 的 [super textViewDidChange],即使它不在 A 类的头文件中 如果我在子类 B 上重新声明该方法
【问题讨论】:
标签: ios objective-c uitextviewdelegate
当您指定UITextViewDelegate 时,您是在告诉编译器您的class 符合UITextViewDelegate 的规范。如果class A 具有UITextViewDelegate 的所有要求,并且class B 是一个子类,那么它也将具有所有要求。没有什么能阻止您将任何instance 分配为delegate,因此您仍然必须小心。
【讨论】:
myTextView.delegate = theSubclass 时,编译器假定您知道自己在做什么并且 theSubclass 实际上符合委托规范。
是的,你可以。由于 A 类确认
【讨论】: