我有四个不同的变量,称为display0, display1, display2, display3
。然后,我有了一个collectionView,其中包含一个可重复使用的单元格,其中包含textLabel。将有四个单元格,我要将它们的textLabels设置为display1 through to display4
。我可以按照cell.textLabel.text = display\(indexPath.row)
的方式做些什么吗?
谢谢。
答案 0 :(得分:0)
否,您无法在运行时通过串联推断变量名称,这意味着如果您声明了类似变量
var display0 = "5"
那么就做
let str = "display\(indexPath.row)"
str将具有字符串display0
,但在变量display0
中将没有实际内容,因为两者都是不相关的情况
任何一个:
1-将它们添加到模型数组中
var arr = ["contentvar1","contentvar2","contentvar3","contentvar4"]
cell.textLabel.text = arr[indexPath.row]
2-使用开关盒
switch indexPath.row {
case 0 :
cell.textLabel.text = display0
---
}
选项1比2更有效率
答案 1 :(得分:0)
创建变量列表:
let displays = ["data0","data1","data2","data3"]
您可以简单地分配变量或更改它们:
displays[1] = "newData1"
然后在您的cellForRow中将其命名为:
cell.textLabel.text = displays[indexPath.row]