除了部分的特定行之外,是不是可以重新加载 UITableView?

Posted

技术标签:

【中文标题】除了部分的特定行之外,是不是可以重新加载 UITableView?【英文标题】:Is it possible to reload UITableView except particular rows of section?除了部分的特定行之外,是否可以重新加载 UITableView? 【发布时间】:2017-08-09 07:22:30 【问题描述】:

我正在尝试重新加载UITableView 中的特定section,但它无法正常工作意味着所有sections 都在重新加载。如何解决这个问题

代码:

UIView.performWithoutAnimation( 
  let loc = self.cartTbl.contentOffset 
  self.cartTbl.reloadSections(IndexSet(integer: sender.tag), with: .middle);
  self.cartTbl.contentOffset = loc 
) 

这里sender.tag 表示点击按钮时正在传递节号

【问题讨论】:

在这里显示一些代码 UIView.performWithoutAnimation( let loc = self.cartTbl.contentOffset self.cartTbl.reloadSections(IndexSet(integer: sender.tag), with: .middle); self.cartTbl.contentOffset = loc ) 这里 sender.tag 表示在按钮单击时传递部分编号 使用reloadRowsAtIndexPaths:withAnimation: 【参考方案1】:
let sectionIndex = 1
let set: IndexSet = [sectionIndex]
self.tableView.reloadSections(set, with: .automatic)

您可以使用表格视图的重新加载部分方法。

【讨论】:

【参考方案2】:

您是否使用reloadSections 方法来更新特定部分?使用reloadSections 方法,您可以重新加载特定部分,而无需重新加载表格的其他部分。

https://developer.apple.com/documentation/uikit/uitableview/1614954-reloadsections?language=objc

【讨论】:

以上是关于除了部分的特定行之外,是不是可以重新加载 UITableView?的主要内容,如果未能解决你的问题,请参考以下文章

核心数据迁移:除了少数特定对象之外,是不是可以删除旧存储?

除了加载行子集之外,使用 NSFetchedResultsController 有啥好处

UIPickerView 没有重新加载

TableView:是不是可以在不重新加载 tableview 或部分的情况下删除现有行并插入新行?

从不同的窗口(不是子窗口)重新加载 iframe - javascript

快速重新加载 PickerView 的特定行