【问题标题】:The same protocol implementation in multiple classes多个类中的相同协议实现
【发布时间】:2014-08-14 23:26:46
【问题描述】:

我有多个类(视图控制器)都符合相同的协议,我希望它们实现该协议所需的完全相同的方法。

我不能创建一个实现了这些方法的基类,然后让视图控制器从该基类继承,因为无论如何我的视图控制器都是从不同的类继承的,而 Objective-C 不允许多重继承。

如何避免将相同的代码(协议方法实现)粘贴到多个类中?

【问题讨论】:

标签: ios objective-c


【解决方案1】:

您可以在 UIViewController 上创建一个实现协议方法的类别。

【讨论】:

  • 但这是否可以归结为为多个视图控制器创建单独的类别,然后将相同的代码粘贴到每个类别中?
  • 视情况而定。如果您的协议方法的实现使用自定义 ViewController 的唯一属性,您将无法访问类别中的这些属性,因此这不是一个选项。如果实现不使用唯一属性,只需在UIViewController的一个category中实现,并使category符合协议即可,不需要多次实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多