在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
结果:
答案 0 :(得分:4)
使用
nameCell.customButton.setTitle("ABC", forState: .Normal)
而不是
nameCell.customButton.titleLabel!.text = "ABC"
并将var
更改为
let
var nameCell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(nameCellIdentifier, forIndexPath: indexPath)