从 VC 委派给 TableViewCell 以更新单元格

delegate from VC to TableViewCell to update cell

我正在尝试使用委托从我的 VC 更新我的所有单元格。

它可以从单元格更新 VC 上的内容,但是当我尝试从 VC 更新内容以对单元格进行更改时,它不起作用。

在我的 VC 我添加了:

protocol MainViewDelegate {
    func updateValueInCell()
}
var delegate: MainViewDelegate?
@IBAction func modifyValueAtVC(_ sender: Any) {
    func updateValueInCell()
}

在我的牢房里

var mainView = ViewController()

extension CustomTableViewCell : MainViewDelegate {
    func updateValueInCell() {
        print("hello")
    }

 override func awakeFromNib() {
        super.awakeFromNib()
        mainView.delegate = self
    }

但是当我从我的视图控制器按下我的按钮时没有任何反应。

这是从 VC 更新单元格的正确方法吗?或者你们还有其他想法吗?

谢谢! :)

vc更新单元格只需要reloadData,如果你想单元格触发viewcontroller,使用委托。

class MainView:UIViewController,CustomTableViewCellDelegate{
    @IBOutlet weak var table: UITableView!//table.delegate = self
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! DailyScheduleTableViewCell
        cell.delegate = self
        //update what you want
        return cell
    }

    func onClick(cell: CustomTableViewCell) {
        //cell click trigger
    }

    @IBAction func modifyValueAtVC(_ sender: Any) {
        table.reloadData()
    }
}

protocol CustomTableViewCellDelegate{
    func onClick(cell:CustomTableViewCell)
}

class CustomTableViewCell:UITableViewCell{
    var delegate:CustomTableViewCellDelegate!

    @IBAction func onClick(_ sender: Any) {
        del?.onClick(cell: self)
    }

}