У меня есть ячейка tableview (OrderMasterCell
) внутри ячейки tableview (NESTED TABLEVIEW)
OrderMasterCell
повторно используется в контроллере с несколькими представлениями.
Допустим, ViewController1 имеет табличное представление, а в ячейке табличного представления (VC1Cell) одно табличное представление с ячейкой OrderMasterCell
(вложенная таблица)
Допустим, у ViewController2 есть табличное представление, а в ячейке табличного представления (VC2Cell) одно табличное представление с ячейкой OrderMasterCell
(вложенная таблица)
Мне нужен пользовательский делегат, который передает didSelectRow
делегата от OrderMasterCell
до VC1Cell
. или VC2Cell
с этим делегатом я хочу передать ячейку либо VC1, либо VC2 в качестве параметра. Для этого я создал следующее
@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?
Если кто-нибудь может помочь мне решить эту