【发布时间】:2018-09-03 11:04:35
【问题描述】:
我有两个自定义 UIViewController,第二个从第一个扩展如下 UIViewController
现在我想在一个新控制器中使用XLPagerTabStrip,我希望它从 CustomVC2 和 XLPagerTabStrip 继承,但是 Swift 不允许多重继承,我需要它们的一些函数和属性。
我的第一种方法是让我所有的自定义 VC 都继承自 XLPagerTabStrip,但我不想仅仅因为我需要在一个控制器中添加额外的功能。
我的第二种方法是派生该库并使其继承自我的 CustomVC2 而不是 UIViewController,但是我必须保持与该库的兼容性。
我相信应该有人遇到过同样的问题,我该如何解决这个问题?
【问题讨论】:
-
使用委托。 Swift 中的委托是一种间接实现多重继承的方法。
-
你能举一个例子说明你的 XLPagerTabStrip 子类想从 CustomVC2 中使用什么吗?
-
@Ray_Soham 你能举个例子吗?
-
@crom87 例如传回数据的方式,通用自定义导航项在 CustomVC2 中设置,我宁愿不重复代码..
标签: ios swift inheritance uiviewcontroller