【发布时间】:2016-08-15 16:35:44
【问题描述】:
我想将特定的UITableViewCell 更新到 Swift IOS。
“reloadRowsAtIndexPaths”用于更新特定的UITableViewCell,
self.tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.None)
我关心的是“如何获得IndexPath.row 和IndexPath.section”([indexPath] 在创建UITableView 之前),我想通过两者来更新特定的UItableViewCell。
【问题讨论】:
-
为什么要在单元格创建之前更新它?没有任何意义 :) 加载表格视图并调用 cellforRowAtIndexpath 时会生成单元格 :) 甚至在创建表格视图之前重新加载单元格它在 Objective C 中没有任何影响可能会在 swift 中崩溃:)
-
完全同意@SandeepBhandari。问题没有任何意义。
-
您可以重新仅加载一次;-)
-
@IosAlo :您需要了解 tableview buddy 的概念 :) 当您加载 tableview 时,可见范围内的所有单元格都会被加载 :) 不是 tableview 中的所有单元格 :) 当他们得到加载他们会正确更新他们的用户界面??如果您要“更新”的单元格不在可见行范围内,则当用户向下滚动以查看该单元格时它将得到更新:) 您无需做任何事情:)
-
@IosAlo:现在如果你想知道为什么苹果提供了 reloadRowsAtIndexPaths 那么呢?简单 :) 假设您必须在每一行中显示像用户个人资料图像这样的图像 :) 这些图像需要从服务器下载 :) 现在您不能在主线程中下载它们正确吗?所以你启动一个后台线程来下载:)一旦图像被下载,如果你必须显示单元格需要重新加载,你不能指望用户滚动查看更新的图像,不是吗:) 所以在这种情况下,你的 tableview已加载,但您必须更新特定单元格,您将使用此方法:)
标签: ios swift tableview reload tableviewcell