我有自定义的带有属性的UITableViewCellcount: Int?...根据这个属性,我呈现UITextField的数量。(一.G.count == 1->一个UITextField,count == 2->两个UITextField)。
稍后,当某些事件发生时,我希望为该标签设置新值。在这里,我所做的:
在我的UIViewController中:
@objc func onDidReceiveEvent(_ notification: Notification) {
guard let count = notification.object as? Int else { return }
guard let cell = self.tableView.cellForRow(at: IndexPath(row: 2, section: 0)) as? MyCustomCell else { return }
cell.count = count
self.tableView.reloadRows(at: [IndexPath(row: 2, section: 0)], with: .automatic)
// I also tried self.tableView.reloadData()
}
我把断点放在override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?)我看到这个单元格是在这个代码块之后更新的,但是count没有更新。我做错什么了?
在控制器中创建一个属性count
var count = 0 // or another default value 在……里面cellForRow赋值count到count细胞的性质
if indexPath.row == 2 { cell.count = count } 在……里面onDidReceiveEvent更新count并重新加载行
@objc func onDidReceiveEvent(_ notification: Notification) { guard let count = notification.object as? Int else { return } self.count = count self.tableView.reloadRows(at: [IndexPath(row: 2, section: 0)], with: .automatic) }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。