在查看名为

时间:2018-06-12 03:45:20

标签: ios swift uitableview

我有一个带自定义单元格的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重装数据是否正确使用?有没有办法处理这种情况?谢谢!

1 个答案:

答案 0 :(得分:2)

延迟属性的意思是它们仅在首次需要时才计算,之后保存它们的值。

如果您取出代码在惰性块之外设置classification,那么它应该可以正常工作。从cellForRow方法调用configureCell函数并在那里执行配置部分。

label.textColor