Eld*_*tov 5 generics xcode swift
我正在快速学习泛型.而且不明白出了什么问题.
请解释我如何在另一个模板中插入通用模板.
BasePresenter类的宣言看起来像
class BasePresenter<VIEW : BaseView>{
Run Code Online (Sandbox Code Playgroud)
图片中出现以下错误代码:
在您的类声明中,您似乎引入的类型(即 PRESENTER)是不需要的。我不确定为什么编译器允许这种部分类型声明,并且稍后当您尝试使用此类部分类型创建变量时正确地给出错误。目前的解决方法是避免这种类型并直接将演示者变量声明为 BasePresenter 类型,或者使用类型别名表示 PRESENTER 类型:
就像是-
class BaseViewController <VIEW: BaseView> : UIViewController, BaseView{
typealias PRESENTER = BasePresenter<VIEW>!
var presenter : PRESENTER!
//Rest of the class body...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1504 次 |
| 最近记录: |