NSMutableArray 为表格视图填充太晚

Posted

技术标签:

【中文标题】NSMutableArray 为表格视图填充太晚【英文标题】:NSMutableArray gets populated too late for table view 【发布时间】:2015-01-17 09:23:33 【问题描述】:

我们将对象的 id 保存到不同的类中。当单击单元格时,我们有一个表格视图会导致另一个表格视图。第二个表视图的数据在 initWithCoder 方法中填充,但它不会显示在第二个表视图中。我们知道在视图出现之前数组没有被填充。在显示表格视图之前,有什么方法可以等待数组正确填充?

谢谢大家。

【问题讨论】:

在数组获取值后调用 [tableview reloadData] 方法。 another table view 是另一个视图控制器的视图吗?为什么不在显示表格视图之前填充数组?此外,您可以在填充数据源后随时[tableView reloadData] 我是美国人。我一直到凌晨 4 点才试图解决这个问题。你在 2 分钟内为我解决了这个问题。谢谢好心的先生。 【参考方案1】:

首先,显示空白表格视图不是很好的用户体验;所以我会把这个分析留给你。一个不错的解决方案是获取一些值(如果不是全部)并将它们传递给下一个视图控制器。

尽管如此,在下一个表视图控制器的viewDidLoad 中,您可以将特定数组添加为观察者。看到这个:http://nshipster.com/key-value-observing/。

observeValueForKeyPath:ofObject:change:context: API 中,您可以使用以下方法重新加载表格视图:

`[self.tableView reloadData]`

【讨论】:

以上是关于NSMutableArray 为表格视图填充太晚的主要内容,如果未能解决你的问题,请参考以下文章

NSMutableArray removeObjectAtIndex 在第二次执行时崩溃

完成处理程序调用太晚

如何使用 NSMutableArray 填充表视图

NSMutableArray 到 Swift iOS 的字符串转换数组 [重复]

SearchBar 如何通过 NSMutableArray 进行搜索?

在表格视图中点击单元格时推送新视图