我有一个带自定义单元格的tableView。在单元格中,我有一个UILabel
lazy var profileInfo: UILabel = {
let label = UILabel()
label.numberOfLines = 0
label.textColor = turnOn ? .white : .black
return label
}()
我有一个名为turnOn的UserDefaults布尔值来确定标签颜色。在我的tableView控制器中,我有一个更改布尔值的按钮,然后调用tableView.reloadData()。但是,当tableView.reloadData()运行时,我的标签不会更改颜色。我必须退出应用程序并再次运行以查看效果。我的问题是tableView重装数据是否正确使用?有没有办法处理这种情况?谢谢!
答案 0 :(得分:2)
延迟属性的意思是它们仅在首次需要时才计算,之后保存它们的值。
如果您取出代码在惰性块之外设置classification
,那么它应该可以正常工作。从cellForRow方法调用configureCell函数并在那里执行配置部分。
label.textColor