使用NotificationCenter将值设置为表视图中的标签

时间:2018-02-21 19:48:07

标签: swift uitableview nsnotificationcenter

我有一个带有自定义单元格的表视图。在单元格中,我有一个标签,用于计算该特定单元格中的按钮。

该计数器是一个单独的类的一部分:

class List {
    var name = ""
    var description = ""
    var counter: Int = 0

    init(name: String, description: String) {

        self.name = name
        self. description = description    
    } 
}         

var staticList: [List] =
        [ //Lots of names and descriptions.   
        ]

在viewDidLoad中,我这样做:

NotificationCenter.default.addObserver(self, selector: #selector(refreshLbl), name: NSNotification.Name(rawValue: "refresh"), object: nil)    

我尝试过的功能:

 @objc func refreshLbl(cell: MenuCell)
    {
        let indexPath = menuTableView.indexPath(for: cell)
       staticList[(indexPath?.row)!].counter = 0   
    } 
}    

所以,我的目标是在触发func refreshLbl时在所有counterLabels中将计数器设置为0。

1 个答案:

答案 0 :(得分:0)

只需运行此循环并将计数器的值更新为零:

 for list in staticList{
        list.counter = 0
    }

然后重新加载表格视图:tableView.reloadData()