使用 NotificationCenter 为 table 视图中的标签设置值
Set value to label(s) in table view with NotificationCenter
我有一个带有自定义单元格的 table 视图。在单元格中,我有一个标签,用于计算该特定单元格中的按钮按下次数。
计数器是单独 class 的一部分:
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
时将所有 counterLabel 中的计数器设置为 0。
只需运行这个循环并将计数器的值更新为零:
for list in staticList{
list.counter = 0
}
然后重新加载 table 视图:tableView.reloadData()
我有一个带有自定义单元格的 table 视图。在单元格中,我有一个标签,用于计算该特定单元格中的按钮按下次数。
计数器是单独 class 的一部分:
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
时将所有 counterLabel 中的计数器设置为 0。
只需运行这个循环并将计数器的值更新为零:
for list in staticList{
list.counter = 0
}
然后重新加载 table 视图:tableView.reloadData()