0

我有一个应用程序结构,包括UITableViews如下所示。该项目是一个核心数据应用程序,具有两个实体和大约十几个属性。

在子细节中,有一些UIPickers. 选择拾取器项时,更改反映在核心数据模型中,并在根VC中反映。更改不会反映在子详细视图本身中,也不会反映在详细视图中。

我正在推送和弹出每个 VC,在每个 VC 之间传递实体值。我从 A 到 B 到 C 又回来。

如果需要,我将使用代码片段更新问题。

谢谢

在此处输入图像描述

这两天我一直在试图弄清楚这里发生了什么,并认为是时候寻求帮助了。

4

1 回答 1

1

发生了什么的可能解释

没有看到你的代码,我只能猜测,但这就是我认为正在发生的事情。您的 rootViewController 正在正确侦听 coreData 模型的更改。您要么直接收听,NSManagedObjectContextObjectsDidChangeNotification要么已经实现了NSFetchedResultsControllerDelegate. viewWillAppear或者更有可能的是,您正在rootViewController中正确执行获取。但是,您可能没有在 Detail 或 Sub-Detail viewControllers 中执行任何这些操作。

具体建议

  1. 在 Detail 和 Sub-Detail viewWillAppear 中调用performFetch[tableView reloadData],以便它们刷新 coreData 中的数据。
  2. 更好地实现NSFetchedResultsControllerDelegate,以便对 coreData 模型的更改自动反映在 UITableView 中。
于 2013-02-18T19:08:12.090 回答