【问题标题】:Ignore first item in array in UITableView - Swift忽略 UITableView 中数组中的第一项 - Swift
【发布时间】:2017-05-06 01:44:29
【问题描述】:

如何在 TableView 中显示时忽略数组中的第一项?

我想要的是在 UITableView 中显示时忽略第一项,我不想删除它只是不在 TableView 中显示它。

以下代码显示 TableView 中数组中的所有项目。

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return lists.count
}


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "listCell", for: indexPath)

    let data = lists[indexPath.row]
    cell.textLabel!.text = data.listName  
    return cell
}

【问题讨论】:

  • 您没有显示足够的代码。显示numberOfRowsInSection
  • 更新帖子。谢谢。
  • 为什么没有您的主列表以及表格视图的数据源实际使用的数据模型?

标签: ios arrays swift uitableview


【解决方案1】:

您的数据源方法使用lists 作为它们的基础,并且您不想做任何会搞砸的事情。 numberOfRowsInSectioncellForRowAt 需要保持同步。

我能想到两种可能:

  • real 模型保留在其他位置,并在 lists 中仅保留要包含在表格中的模型部分。

  • 或者(完全不同的方法)实现heightForRowAt 以将不需要的行高度设为零。

【讨论】:

  • 我明白了,我会接受你的第一个建议。
  • 很好,因为我会这样做。 :)
  • 非常感谢您的帮助!
  • matt,你与@rmaddy 在他删除的答案中的交流很有趣。我经历了同样的心理过程,思考了“愚蠢”的答案,并决定“呃。不。”
  • 在我看来,零高度行的答案也很讨厌,最好避免。为数据源提供模型的子集是迄今为止最简洁的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多