【发布时间】:2017-09-01 08:08:11
【问题描述】:
我想要两个绑定的类。这意味着,两个类都知道彼此的方法。
BaseController <> BaseView
这些类用于声明子类,例如
LoginController <> LoginView.
BaseController 对其类型为 <T : BaseView> 的视图具有强引用,BaseView 应对其类型为 <T: BaseController> 的控制器进行弱引用
我已经设法获得了 BaseView 的泛型:
class BaseController <T: BaseScreen>
所以我这样做:
class LoginController : BaseController<LoginView>
这可行,并且控制器可以直接访问(可见性)视图函数,我不需要每次都进行强制转换。
但是我不能在视图上做同样的事情,因为如果我这样做了
class BaseView <T : BaseController>
然后编译器强迫我这样做
class BaseView <T : BaseController <BaseScreen>>
这会导致递归错误。
有没有一种方法可以使用泛型进行交叉引用?现在我坚持将视图简单地转换为控制器以防万一。
【问题讨论】:
标签: swift generics nested-generics