【发布时间】:2017-12-28 09:27:54
【问题描述】:
我在 tablview 单元格 (NESTED TABLEVIEW) 中有 tableview 单元格 (OrderMasterCell)
OrderMasterCell 在多个视图控制器中被重用
假设 ViewController1 有 tableview 并且在 tableview 单元格 (VC1Cell) 中有一个 tableview 有单元格 OrderMasterCell (nested tableivew)
假设 ViewController2 有 tableview 并且在 tableview 单元格 (VC2Cell) 中有一个 tableview 有单元格 OrderMasterCell (nested tableivew)
我想要将OrderMasterCell 的didSelectRow 委托传递给VC1Cell 的自定义委托。或VC2Cell
使用该委托,我想将 VC1 或 VC2 作为参数传递给 Cell 为此,我创建了关注
@objc protocol OrderSubItemTableDelegate:class {
associatedtype cellType // cell type either vc1 or vc2
@objc optional func tableViewDidSelectRowAt(object:cellType)
}
当我尝试创建时
class VC1Cell: UITableViewCell,UITableViewDataSource,UITableViewDelegate {
weak var delegate:OrderSubItemTableDelegate?
}
它抛出编译时错误
Protocol 'OrderSubItemTableDelegate' 只能用作通用约束,因为它具有 Self 或关联的类型要求
明确问题
如何创建具有associatedtype 的协议属性?
喜欢weak var delegate:OrderSubItemTableDelegate?
如果有人可以帮我解决这个问题
【问题讨论】:
标签: ios generics swift3 associated-types