【问题标题】:get the IndexPath.row and IndexPath.section Before Creation of the table View在创建表视图之前获取 IndexPath.row 和 IndexPath.section
【发布时间】:2016-08-15 16:35:44
【问题描述】:

我想将特定的UITableViewCell 更新到 Swift IOS。

reloadRowsAtIndexPaths”用于更新特定的UITableViewCell

self.tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.None)

我关心的是“如何获得IndexPath.rowIndexPath.section([indexPath] 在创建UITableView 之前),我想通过两者来更新特定的UItableViewCell

【问题讨论】:

  • 为什么要在单元格创建之前更新它?没有任何意义 :) 加载表格视图并调用 cellforRowAtIndexpath 时会生成单元格 :) 甚至在创建表格视图之前重新加载单元格它在 Objective C 中没有任何影响可能会在 swift 中崩溃:)
  • 完全同意@SandeepBhandari。问题没有任何意义。
  • 您可以重新仅加载一次;-)
  • @IosAlo :您需要了解 tableview buddy 的概念 :) 当您加载 tableview 时,可见范围内的所有单元格都会被加载 :) 不是 tableview 中的所有单元格 :) 当他们得到加载他们会正确更新他们的用户界面??如果您要“更新”的单元格不在可见行范围内,则当用户向下滚动以查看该单元格时它将得到更新:) 您无需做任何事情:)
  • @IosAlo:现在如果你想知道为什么苹果提供了 reloadRowsAtIndexPaths 那么呢?简单 :) 假设您必须在每一行中显示像用户个人资料图像这样的图像 :) 这些图像需要从服务器下载 :) 现在您不能在主线程中下载它们正确吗?所以你启动一个后台线程来下载:)一旦图像被下载,如果你必须显示单元格需要重新加载,你不能指望用户滚动查看更新的图像,不是吗:) 所以在这种情况下,你的 tableview已加载,但您必须更新特定单元格,您将使用此方法:)

标签: ios swift tableview reload tableviewcell


【解决方案1】:
            tableView.reloadRowsAtIndexPaths([NSIndexPath(forRow: 0, inSection: 0)], withRowAnimation: .None)

有了这个你可以初始化一个 NSIndexPath 变量。 [] 括号,因为 reloadRowsAtIndexPath 需要一个数组作为参数。

我猜 NSIndexPath 初始化器中的参数非常简单(forRow --> which row | inSection --> which section

高频 ;)

【讨论】:

  • 在创建 TableView 之前不起作用或没有意义
  • 我猜这甚至不是他关心的问题。我如何理解他的问题,他想知道如何重新加载一个特定的行。这确实有效,伙计,试试吧(创建 tableview 时)
  • 你读过标题吗? “在创建表视图之前获取 IndexPath.row 和 IndexPath.section”以及他的问题下的 cmets?...
  • 在我看来,他仍然在努力将 NSIndexPath 变量放在他需要的地方。 “在创建表视图之前获取IndexPath.row和IndexPath.section”并不一定意味着他想在创建之前重新加载,而是想事先获取NSIndexPath变量。
  • 请阅读他的cmets。他正在努力解决 UItableView 类的基本问题,而不是这个索引获取问题本身。
猜你喜欢
  • 2014-10-25
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
相关资源
最近更新 更多