使用委托和协议,我无法访问UIButton

时间:2018-05-26 11:47:21

标签: ios swift uitableview uicollectionview swift-protocols

我想在表格视图的检查按钮选择中显示/隐藏集合视图

我正在尝试使用委托和协议。

1.I在表格视图单元格类中创建协议

   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函数

func selectCollectionView(cell: InsideTableViewCell) {

    cell.clCollectionView.isHidden = true
}

我试图在selectCheck按钮

中调用selectCollectionView函数

但是我得到的错误就像"无法转换类型' InsideTableViewCell.Type'预期的参数类型' InsideTableViewCell'"

如果我错了,请告诉我。

我提到了这个链接:How to access the content of a custom cell in swift using button tag?

输出屏幕截图:

enter image description here

0 个答案:

没有答案