我有一个表格视图,每个单元格中有两个标签。一个显示数组中的对象,另一个显示先前创建的另一个数组中的相应对象。
presentArray: [item1, item2, item3]
previousArray: [item1, item2, item3, item4]
numberOfRowsInSection返回presentArray.count
在cellForRowAt中,我需要设置一个标签来显示previousArray的相应索引。这是发生崩溃的地方。阵列的性质可以是不同的长度。
那么,我怎样才能告诉tableview单元格只显示前一个数组中的字符串。
如果数组的长度相同,我现在只能在标签中显示字符串,否则我会因为indexPath超出范围而变得更快或更短。
我怎么说cell.label.text =" array [indexPath.row]"如果索引路径存在。
答案 0 :(得分:1)
在您设置标签文字之前,您可以使用if
条件,如下所示:
if indexPath.row < previousArray.count {
cell.label.text = array[indexPath.row]
} else {
cell.label.text = ""
}
此代码检查以确保tableview的indexPath.row小于数组中的项目数,因此您的代码不会崩溃。