在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)