符合通用D型协议

时间:2018-08-07 09:45:47

标签: ios generics swift3 swift4

我有一个基本的View Controller,所有Viewcontroller都将从该View Controller继承而来,我想遵循通用类型D(这是一个协议,但我得到

  

从非协议,非类类型“ D”继承

  

'type'不是'D'的成员类型

这是我的代码

open class BaseViewController <T, D> :
                                UIViewController,
                                D,
                                ViewControllerCommonFeatures
                                where T : BasePresenter<D>, D.type == Protocol {
}

Base Presenter是一个普通的swift类,D将是一个遵循其他swift协议的swift协议。

我至少希望将D类型定义为协议。

先谢谢了。

1 个答案:

答案 0 :(得分:0)

根据此link,似乎我要执行的操作在Swift中不可行,因为swift禁止扩展或遵循泛型类型。 在编译代码之前,必须先指定一个已知类型。