【问题标题】:Is ok to store UITableViewCells into an array?可以将 UITableViewCells 存储到数组中吗?
【发布时间】:2016-08-03 12:30:32
【问题描述】:

我想在表格视图中显示有关用户的信息,有些信息不是强制性的,所以最后一些单元格可能不在表格视图中。我有使用带有单元格的数组的想法,因为我最多可以有 10 个单元格,这将简化逻辑,如果我将使用标准的 Apple 行为,我需要对表格视图数据源进行多次检查和复杂的逻辑和代表。可以初始化单元格,将它们放入数组并在之后显示它们吗?

【问题讨论】:

  • 初始化单元格,将它们放入数组中,意味着您创建循环并将单元格存储在数组中
  • 如果所有单元格都是静态的,我可以想象它会起作用。也就是说,您不依赖表视图的缓存或其重用逻辑。
  • 我宁愿创建一个从数据创建单元格的方法,并且只将数据保存在数组中
  • 我建议你按照 Rob Napier 下面的回答去做。您应该考虑在 UITableView 中使用静态单元格,这样可以更轻松地显示/隐藏单元格。

标签: ios iphone uitableview nsarray


【解决方案1】:

当然。对于像这样的少数细胞,这很好。当然,您仍然需要数据源,但如果适合您,它可以从数组中提取单元格。

您可能还对仅在 Storyboard 中使用配置有静态单元格的表格视图感兴趣。然后,您可以隐藏不需要的单元格。见UITableView set to static cells. Is it possible to hide some of the cells programmatically?

【讨论】:

  • 感谢您的回答,我在想这种方法可以在某些方面打破 UITableViewCell 生命周期。
  • 否;只要你不打电话给dequeueReusableCell,你就不应该有任何麻烦。只需明确创建单元格。
  • (即使这有点强,如果方便的话,您几乎可以肯定使用dequeueReusableCell 来创建它们。只是不要在cellforItemAtIndexPath 中调用它。)
猜你喜欢
  • 2011-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-04-18
  • 2010-12-02
  • 2011-04-05
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
相关资源
最近更新 更多