如果indexPath对象可用,如何在tableview单元格上使用标签

时间:2018-02-02 22:40:00

标签: ios swift uitableview

我有一个表格视图,每个单元格中有两个标签。一个显示数组中的对象,另一个显示先前创建的另一个数组中的相应对象。

presentArray: [item1, item2, item3]
previousArray: [item1, item2, item3, item4]

numberOfRowsInSection返回presentArray.count

在cellForRowAt中,我需要设置一个标签来显示previousArray的相应索引。这是发生崩溃的地方。阵列的性质可以是不同的长度。

那么,我怎样才能告诉tableview单元格只显示前一个数组中的字符串。

如果数组的长度相同,我现在只能在标签中显示字符串,否则我会因为indexPath超出范围而变得更快或更短。

我怎么说cell.label.text =" array [indexPath.row]"如果索引路径存在。

1 个答案:

答案 0 :(得分:1)

在您设置标签文字之前,您可以使用if条件,如下所示:

if indexPath.row < previousArray.count {
    cell.label.text = array[indexPath.row]
} else {
    cell.label.text = ""
}

此代码检查以确保tableview的indexPath.row小于数组中的项目数,因此您的代码不会崩溃。