Ios Swift中泛型类的冗余超类约束警告
我有一个viewController类,它实现了一个泛型模型类和一个泛型TableCell,需要使用与viewController相同的模型类型从泛型基类继承。Ios Swift中泛型类的冗余超类约束警告,ios,swift,generics,Ios,Swift,Generics,我有一个viewController类,它实现了一个泛型模型类和一个泛型TableCell,需要使用与viewController相同的模型类型从泛型基类继承。 像下面这样做会抛出警告冗余超类约束“M”:“Object”。由于BaseTableView本身依赖于M,因此我不太明白如何在没有警告的情况下执行此操作 public class BaseTableView<M:Object, C:BaseTableCell<M>>: UIViewController { t
像下面这样做会抛出警告
冗余超类约束“M”:“Object”
。由于BaseTableView
本身依赖于M
,因此我不太明白如何在没有警告的情况下执行此操作
public class BaseTableView<M:Object, C:BaseTableCell<M>>: UIViewController {
typealias Model = M
typealias TableCell = C
(...)
}
公共类BaseTableView:UIViewController{
typealias模型=M
typealias TableCell=C
(...)
}
此警告是因为BaseTableCell的定义已经强制执行与对象的一致性。您可以将类定义更改为:
public class BaseTableView<M, C:BaseTableCell<M>>: UIViewController {
(...)
}
公共类BaseTableView:UIViewController{
(...)
}
这将解决您的警告并保留预期功能。我也在寻找该问题的答案。很明显,它并没有坏的运行时效果。。。其实很有道理。谢谢你指出这一点!:)