objective-c - 在 objective-c 中扩展协议(protocol)实现

标签 objective-c ios

我有一个 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/

相关文章:

ios - UIView 上的自定义圆角

ios - 处理字典中的 null 和 NSDate

objective-c - 是否可以从 Mac 系统设置中获取代理设置用户名和密码?

iphone - 带有 ARC 的 Objective-C 委托(delegate)

iphone - 使用 UIAccleration 获得旋转级别

ios - "Redefenition of ' 类别 ' as a different kind of symbol"并与 Objc 运行时类名冲突

ios - 如何更改 swift 4 中图像文件中存储的值

objective-c - ConnectionKit 应用程序无法在其他计算机上打开

objective-c - 在 Swift 中声明全局宏

ios - 如何使用核心数据框架更新数据?