在我的通用iOS应用程序中,我创建了一个保存在plist文件中的文件夹结构。它构建如下:
通过这种结构,我浏览文件夹。当前数据源(始终为数组)的内容显示在表视图中。现在可能有些数据发生了变化。因此,我想刷新我的表结构和要填写的数据。如果这在根文件夹中完成没有问题,但如果我在任何子文件夹中尝试它,我只能刷新当前数组。因此,如果我导航回结构的上层,仍会使用旧数据。
更新所有数据但仍保留在当前选定的文件夹中的优良做法(仅当它仍然存在时)?
提前致谢
答案 0 :(得分:1)
你是如何导航到子文件夹的? 如果您使用UINavigationController,则应在用户导航时重新加载您的tableview。 例如,您可以在viewWillAppear
中执行此操作- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Reload data in table view
[self.tableView reloadData];
}
答案 1 :(得分:1)
您可以使用通知,因此每个视图控制器都会侦听更新通知,当您的数据发生更改时,您会发布通知。
您只需在每个视图控制器的viewWillAppear:
方法中重新加载表数据。
答案 2 :(得分:1)
1,你有一个用于更新plist的类方法:[MyMethod updatePlist];
2,您有一个父视图控制器,它具有viewWillAppear或viewDidAppear方法。在那里,你调用[MyMethod updatePlist]。
3,所有viewController都继承父视图控制器。
因此,每次加载新的视图控制器视图时,它都会更新plist。如有必要,您可以添加处理内容以显示加载。
这有用吗?