我在tablview单元格(NESTED TABLEVIEW)中有tableview单元格(OrderMasterCell
)
OrderMasterCell
已在多个视图控制器中重用
假设ViewController1有tableview,在tableview单元格(VC1Cell)中有一个tableview,其中有单元格OrderMasterCell
(嵌套tableivew)
假设ViewController2有tableview,在tableview单元格(VC2Cell)中有一个tableview,其中包含单元格OrderMasterCell
(嵌套tableivew)
我希望自定义委托将didSelectRow
OrderMasterCell
代理传递给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?
}
抛出编译时错误
协议'OrderSubItemTableDelegate'只能用作通用约束,因为它具有Self或相关类型要求
清除问题
如何创建具有associatedtype
的协议属性?
比如weak var delegate:OrderSubItemTableDelegate?
如果有人能帮我解决这个问题
答案 0 :(得分:0)
您以错误的方式确认协议。
void connect_socket(ConnectHandler connect_handler,
ASIO::ip::tcp::resolver::iterator host_iterator)
{ ASIO::async_connect(socket_.lowest_layer(), host_iterator, connect_handler); }