Я хочу показать / скрыть представление коллекции внутри выбора кнопки проверки табличного представления
Я пытаюсь использовать делегат и протокол для этого.
1. Я создаю протокол в ячейке табличного представленияclass
protocol CustomCellDelegate{
func selectCollectionView(cell: InsideTableViewCell)
}
Примечание: я создаю функцию selectCollectionView внутри контроллера основного вида
2.declare переменную-делегат внутри класса основного вида
var delegate: CustomCellDelegate?
3.ПодтвердимCustomCellDelegate в главном классе
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UICollectionViewDelegate,UICollectionViewDataSource,CustomCellDelegate
4.Используйте функцию селектора для предоставления кнопки просмотра таблицы внутри функции cellForRowAtIndexPath
cell.checkButton.addTarget(self, action: #selector(self.selectCheck(_:)), for: .touchUpInside)
cell.delegate = self
5.Функция выбора
@objc func selectCheck(_ sender: UIButton) {
if sender.isSelected {
sender.isSelected = false
print("Check 1")
delegate?.selectCollectionView(cell: InsideTableViewCell)
} else{
print("Check 2")
sender.isSelected = true
}
}
6.selectCollectionView function
func selectCollectionView(cell: InsideTableViewCell) {
cell.clCollectionView.isHidden = true
}
Я пытаюсь вызвать функцию selectCollectionView внутри кнопки selectCheck
, но получаю сообщение об ошибке типа «Невозможно преобразовать значение типа« InsideTableViewCell.Type »в ожидаемый аргументвведите 'InsideTableViewCell' "
Если я ошибаюсь, пожалуйста, дайте мне знать.
Я ссылался на эту ссылку: Как получить доступ к содержимомуt пользовательской ячейки в swift с использованием тега кнопки?
и снимок экрана с выводом: