iOS - 这个声明在一个类中是正确的吗?

时间:2012-10-07 20:50:59

标签: iphone ios cocoa-touch ipad

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

这样的委托方法
- (void)textViewDidBeginEditing:(UITextView *)textView {

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

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

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

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

1 个答案:

答案 0 :(得分:4)

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

 - (void)textViewDidBeginEditing:(UITextView *)textView

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

- (void)textViewDidBeginEditing:(UITextView *)textView {
    MyTextView * myTextView = (MyTextView *)textView;
    ...
}