Ios Swift中泛型类的冗余超类约束警告

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

我有一个viewController类,它实现了一个泛型模型类和一个泛型TableCell,需要使用与viewController相同的模型类型从泛型基类继承。
像下面这样做会抛出警告
冗余超类约束“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{
(...)
}

这将解决您的警告并保留预期功能。

我也在寻找该问题的答案。很明显,它并没有坏的运行时效果。。。其实很有道理。谢谢你指出这一点!:)