我有一个表格 View ,每个单元格中有两个标签。一个显示数组中的对象,另一个显示之前创建的另一个数组中的相应对象。
presentArray: [item1, item2, item3]
previousArray: [item1, item2, item3, item4]
numberOfRowsInSection 返回 presentArray.count
在cellForRowAt中我需要设置一个label来显示previousArray对应的index。这就是崩溃发生的地方。数组根据其性质可以具有不同的长度。
那么,我如何才能告诉 tableview 单元格显示来自前一个数组的字符串(如果它存在)。
如果数组长度相同,我目前只能在标签中显示字符串,否则我会崩溃,因为 indexPath 超出范围,无论是更长还是更短。
如果索引路径存在,我怎么说 cell.label.text = "array[indexPath.row]"。
最佳答案
在设置标签文本之前,您可以使用 if
条件,如下所示:
if indexPath.row < previousArray.count {
cell.label.text = array[indexPath.row]
} else {
cell.label.text = ""
}
此代码检查以确保 tableview 的 indexPath.row 小于数组中的项目数,因此您的代码不会崩溃。
关于ios - 仅当 indexPath 对象可用时如何在 tableview 单元格上使用标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48591902/