在swift 2.0中,当我尝试使UITableViewCell自定义类的var对象成为对象时,swift建议我将其转换为“let”,因为对象从未发生突变。

我在UITableViewCell上有一个UIButton,但如果我将其对象设置为“let”,则在该按钮的touchupinside方法调用上将其重命名为ABC

请参考以下代码:

var nameCell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(nameCellIdentifier, forIndexPath: indexPath)

switch indexpath.row{
case 0:
     nameCell.customButton.titleLabel!.text = "ABC"
case 1:
     nameCell.customButton.titleLabel!.text = "DEF"
case 2:
     nameCell.customButton.titleLabel!.text = "GHI"
}

return nameCell

结果:

var nameCell从未被突变将其转换为

最佳答案


nameCell.customButton.setTitle("ABC", forState: .Normal)

代替
nameCell.customButton.titleLabel!.text = "ABC"

并将var更改为let
var nameCell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(nameCellIdentifier, forIndexPath: indexPath)

09-07 14:17