Uitableview 如何将数据从DetailViewController的子视图传递到MasterViewController?

Uitableview 如何将数据从DetailViewController的子视图传递到MasterViewController?,uitableview,nsfetchedresultscontroller,uistoryboard,ipad,Uitableview,Nsfetchedresultscontroller,Uistoryboard,Ipad,我有一个iPad故事板驱动的应用程序,它使用分割视图来显示主视图和详细视图 DetailViewController有一个子UITableViewController,它在DetailViewController中填充原型UITableView。UITableViewController使用NSFetchedResultsController来管理数据检索,以便将数据与UITableView一起使用 MasterViewController包含另一个UITableView,其中填充了UITabl

我有一个iPad故事板驱动的应用程序,它使用分割视图来显示主视图和详细视图

DetailViewController有一个子UITableViewController,它在DetailViewController中填充原型UITableView。UITableViewController使用NSFetchedResultsController来管理数据检索,以便将数据与UITableView一起使用

MasterViewController包含另一个UITableView,其中填充了UITableViewController中包含的数据子集

我遇到的问题是,我需要MasterViewController能够从NSFetchedResultsController记录集中更新其内容,但我发现我不能为此使用委托,因为UITableViewController是DetailViewController的子级,DetailViewController是MasterViewController的子级

虽然我知道可以使用NSNotificationCenter来完成这项工作,但我希望可以通过视图层次结构将相关数据传递回MasterViewController。我曾考虑过将数据从FRC加载到实例变量中,并使用KVO触发DetailViewController上的委托方法,但这似乎很复杂。  这是当前设置的概述:

MasterViewController-->DetailViewController-->UITableViewController.NSFetchedResultsController


有谁能建议实现这一点的最佳方法吗?

我将使用另一个NSFetchedResultsController实例向MasterViewController中的表视图提供数据。

我通过使用
NSNotification
和方法
postNotificationName:object:userInfo:
解决了这个问题,将NSDictionary值作为userInfo传递。 然后,我将MasterViewController设置为侦听通知并处理NSDictionary以更新自身

这符合苹果规定的编程指南,也允许我在应用程序的任何地方传递相同的信息


此处有更多详细信息:

鉴于我已经将所需数据提取到内存中,并且可以快速枚举以生成MasterViewController所需的数据,再次检索所有数据似乎效率低下。我正在研究使用NSNotifications来传递生成的数据,因为我还需要在MasterViewController中发送所选单元格的详细信息。为了避免传播关于效率的误解,我要澄清,在托管对象上下文上的后续获取请求将不会重新检索内存中已经存在的对象。