私は、CustomCellOneとCustomCellTwoの2つのクラスを使用するtableViewを持っています。 CustomCellTwoはindexPath.row == 1に表示され、残りの時間はCustomCellOneが表示されます。Swift:複数のTableViewCellクラスを使用する場合、tableViewのインデックスをオフセットする方法はありますか?
CustomCellOneは、tableArrayという配列のデータを表示します。ただし、CustomCellTwo後のセルは、配列内の2番目の項目が表内のCustomCellTwoに置き換えられるため、配列から1つの要素が欠落しています。
私が現在考えることのできる唯一の解決策は、indexPath1としてtableArrayに冗長要素を追加することです。これはスキップされますが、エレガントではありません。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellTwo", for: indexPath) as! CustomCellTwo
cell.label.text = ""
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: cellOne, for: indexPath) as! CustomCellOne
cell.label.text = tableArray[indexPath.row]
return cell
}