ios - 如何在 Swift 中添加多个泛型类型约束?

标签 ios swift

我有以下声明:

 TableViewDataSource
     <Model: ManagedObject, Cell: UITableViewCell where Cell: ConfigurableCell> :
       NSObject, UITableViewDataSource 

我想对模型类型施加约束。像这样的事情:

TableViewDataSource
  <Model: ManagedObject where Model: ManagedObjectType,  
   Cell: UITableViewCell where Cell: ConfigurableCell> : 
      NSObject, UITableViewDataSource 

如何在 Swift 2.0 中做到这一点?

最佳答案

换句话来说,

TableViewDataSource
  <Model:ManagedObject, Cell: UITableViewCell 
     where Model:ManagedObjectType, Cell:ConfigurableCell>:  
       NSObject,UITableViewDataSource

所有泛型类型都应首先声明,并用分隔符(逗号)分隔,然后应提供约束,每个约束也应用逗号分隔。必须满足所有限制才能使其发挥作用。

关于ios - 如何在 Swift 中添加多个泛型类型约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33112809/

相关文章:

ios - CATransform3DMakeRotation 和 CATransform3DRotate 之间的区别

swift - "Protocol ... can only be used as a generic constraint because it has Self or associated type requirements"是什么意思?

ios - Swift optionals : language issue, 还是做错了什么?

Swift:在 Switch 语句中使用比较运算符

iphone - Google api 方向 - 绘制路线无效

ios - 如何从不同UIViewController中的UITableView访问UITableViewCell?

ios - 带有 Objective-C 函数的 Swift block 语法 [Venmo-iOS-SDK]

objective-c - 具有自定义字体和文本轮廓/描边的 UIButton

swift - drmohundro/SWXMLHash 和 Swift 中的转义值

ios - 如何使用 Swift 3、ReativeKit 和 Bond 绑定(bind)自定义对象数组