4

假设我正在创建一个名为 myTextView 的 UITextView 子类。我将使该课程成为自己的代表。所以,我需要实现委托方法,比如

- (void)textViewDidBeginEditing:(UITextView *)textView {

我应该像这样还是这样声明这个方法?

- (void)textViewDidBeginEditing:(myTextView *)textView {

在我看来它像递归,因为我在 myTextView 类中,定义了一个引用自身的委托......

什么是正确的方法?谢谢。

4

1 回答 1

4

只是为了澄清,最好实现协议中定义的方法:

 - (void)textViewDidBeginEditing:(UITextView *)textView

如果您使用自定义类类型或任何类类型实现协议方法,这些方法仍将被调用,因为没有执行类型检查。该参数实际上是您的自定义子类。无论如何,再次澄清一下,如果您想处理自定义子类的 ivars,我建议进行内部演员表:

- (void)textViewDidBeginEditing:(UITextView *)textView {
    MyTextView * myTextView = (MyTextView *)textView;
    ...
}
于 2012-10-07T21:01:47.687 回答