我有一个 Foo
类,它继承自 UIViewController
并实现了一个 UIWebViewDelegate
。
我可以在新类中继承 Foo
并扩展旧的 webViewDidFinishLoad
方法吗?
我需要执行一些代码,然后从父类(super class)调用 webViewDidFinishLoad
。
最佳答案
答案是肯定的 - 我自己在几个地方这样做。所以 Foo 实现了一个协议(protocol),这在接口(interface)文件中有说明。然后你可以有一个新类 Goo,它是 Foo 的子类。由于 Foo 公开声明它实现了一个协议(protocol),那么 Goo 也将被声明为实现它。
如果该协议(protocol)有强制方法,当编译器假定 Foo 实现它们时,您可以覆盖 Goo 中的任何或所有方法。如果你愿意,你也可以(像我一样)调用“[super someMethod]”让 Foo 也采取行动。
关于objective-c - 在 objective-c 中扩展协议(protocol)实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12689240/