我有一个数组,我们称它为列表
var list = ["name1", "name2", "name3", "name4", "name5"]
我有两个原型单元,第一个应该在标题中具有数组的第一个索引,第二个应该具有其余的数组
在两个单元格中,我都写了indexPath.row
,谁能帮助我如何分割此数组以在两个单元格中使用。
换句话说,我想在表格视图中有5个单元格
具有标识符:“ list1”的单元格1的标题中应包含以下项目= [“ name1”,“ name2”,“ name3”]
具有标识符:“ list2”的单元格2的标题= [“ name4”,“ name5”]中应具有这些项目
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return list.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: "list1", for: indexPath) as? ListCell {
cell.list1Title?.text = list[indexPath.row]
return cell
} else if let cell = tableView.dequeueReusableCell(withIdentifier: "list2", for: indexPath) as? ListCell {
cell.list2Title?.text = list[indexPath.row]
return cell
}
return TableViewCell()
}
答案 0 :(得分:2)
假设您要在表格视图中显示5行,下面将使用单元格“ list1”显示前三个值,并使用单元格“ list2”显示其余值:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row < 3 {
let cell = tableView.dequeueReusableCell(withIdentifier: "list1", for: indexPath) as! ListCell
cell.list1Title?.text = list[indexPath.row]
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "list2", for: indexPath) as! ListCell
cell.list2Title?.text = list[indexPath.row]
return cell
}
}
当然,这假设您的ListCell
同时具有list1Title
和list2Title
属性。通常,对于这两种类型,实际上您将有两种不同的单元格类别,这意味着您将使用两种不同的转换,而不是将两者都转换为ListCell
。