Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableViewCell变量;“表格视图单元格”;从未发生过变异_Ios_Swift_Sdk - Fatal编程技术网

Ios UITableViewCell变量;“表格视图单元格”;从未发生过变异

Ios UITableViewCell变量;“表格视图单元格”;从未发生过变异,ios,swift,sdk,Ios,Swift,Sdk,在swift 2.0中,当我试图创建UITableViewCell自定义类的var对象时,swift建议我将其转换为“let”,因为该对象从未发生过变异 我在UITableViewCell上有一个UIButton,但如果我将其对象设置为“let”,则在按钮的touchupinside方法调用中将其重命名为ABC 请参阅以下代码: var nameCell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(nameCell

在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从未发生过突变,将其转换为let使用

而不是

nameCell.customButton.titleLabel!.text = "ABC"
并将
var
更改为
let

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

而不是

nameCell.customButton.titleLabel!.text = "ABC"
并将
var
更改为
let

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

使用let代替var,如
let nameCell
,但如果我使用'let'则
ui按钮
在其
touchUpInside
方法calluse代替var,如
let nameCell
,但如果我使用'let'则
ui按钮
始终将其
标题
返回为“ABC”在其
toucupinside
方法callThank@UditS中,我正要发布同样的内容。我刚刚将它解析为
标题标签。text
是swift的
{get}
属性,需要
setTitle
属性,但奇怪的是,我没有得到任何警告,我无法从swifsame行为中设置get属性。由于您试图设置的
titleLabel.text
不是标签的{get}(只读)属性,因此不会给出任何错误。另一方面,如果您尝试将某些内容设置为
标题标签
,例如
标题标签=UILabel(frame:CGRectMake(0,0,0,10))
,则会出现错误。感谢@UditS,我正要发布相同的内容。我刚刚将它解析为
标题标签。text
是swift的
{get}
属性,需要
setTitle
属性,但奇怪的是,我没有得到任何警告,我无法从swifsame行为中设置get属性。由于您试图设置的
titleLabel.text
不是标签的{get}(只读)属性,因此不会给出任何错误。另一方面,如果您尝试将某些内容设置为
标题标签
,例如
标题标签=UILabel(frame:CGRectMake(0,0,0,10))
,它确实会给出一个错误。