【发布时间】:2016-08-29 17:15:10
【问题描述】:
我在 ViewController 中设置了一个 tableView。此表格视图有 1 个部分,2 个原型单元格:一个用于返回部分中的行数,另一个用于显示自定义标题。
在
viewDidAppear()中,调用self.loadData()函数从NSUserDefaults 中检索数据。此数据将在tableView:viewForHeaderInSection:中用于填充标题部分中的标签。 问题是tableView:viewForHeaderInSection:在调用viewDidAppear()之前自动调用,因此标题部分中的标签没有填充从NSUserDefaults 检索的数据。 如何在调用tableView:viewForHeaderInSection:之前调用self.loadData()?
【问题讨论】:
-
使用 viewWillAppear
-
@Shades 如果我使用 viewWillAppear,.Checkmark 附件不再显示在之前选择的行上。我根据 NSUserDefaults 中记录的 indexPath 分配了一个复选标记。
-
正如@matt 所说,在加载数据后调用 tableView.reloadData() 以便它填充您检索到的所有内容。
-
如果我在 viewDidAppear 中使用 tableView.reloadData() 它可以工作,我假设复选标记无法在 viewWillAppear 中加载,因为视图尚未显示..
标签: swift uitableview