2015-10-13 101 views
1

我有以下聲明:如何在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中做到這一點?

+0

什麼具體不工作? – Mundi

+0

查看下面的答案!! –

回答

1

把它像這樣代替,

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

所有的通用類型應該首先要聲明的分隔符(逗號)分離,然後限制,應在稍後提供,每個約束也應該與逗號分隔。所有的約束條件必須滿足才能使其工作。