Core data 在ViewController之间传递数据,而不是在每个VC中执行本地获取

Core data 在ViewController之间传递数据,而不是在每个VC中执行本地获取,core-data,uiviewcontroller,nsfetchedresultscontroller,Core Data,Uiviewcontroller,Nsfetchedresultscontroller,我正在开发一个使用核心数据的iPhone应用程序,我正在寻找一些关于在ViewController之间传递数据与在导航到ViewController时在每个ViewController中进行本地获取是否可以接受的一般建议。通常我会说这一切都取决于各种因素(如性能等),但传递数据的方法在我的应用程序中非常普遍,我被所有关于苹果拒绝应用程序的故事吓了一跳,因为它们不符合标准指南 那么,让我换一种说法——在VC之间传递数据是非标准的吗 我传递数据如此之多的原因是因为每个ViewController只是

我正在开发一个使用核心数据的iPhone应用程序,我正在寻找一些关于在ViewController之间传递数据与在导航到ViewController时在每个ViewController中进行本地获取是否可以接受的一般建议。通常我会说这一切都取决于各种因素(如性能等),但传递数据的方法在我的应用程序中非常普遍,我被所有关于苹果拒绝应用程序的故事吓了一跳,因为它们不符合标准指南

那么,让我换一种说法——在VC之间传递数据是非标准的吗

我传递数据如此之多的原因是因为每个ViewController只是对象模型/图形中数据的另一个视图。一旦我在first view controller中获得了第一个对象的句柄(当然我必须获取该句柄),我就可以使用现有的对象组合/关系深入到数据的下一个细节层次,因此我只需将这些对象传递给下一个VC

另外,将数据传递给每个VC方法的一个可能的缺点是,我没有从NSFetchedResultsController在高效内存使用和节处理方面提供的优化/好处中获益(我认为是这样)。我的应用程序是只读的,但我有一个5000行的表,我很好奇我是否错过了NSFetchedResultsController的好处。你对此也有什么想法吗?我是否仍能从NSFetchedResultsController的优点中获益,而不必进行完全提取(因为我已经从以前的VC中传入了数据)


非常感谢。

这不仅是传递数据的标准方法,也是推荐的方法


这叫做依赖注入。

谢谢Marcus。我也读了你关于这个主题的非常有用的教程,感觉好多了。下面的链接是为了其他人的利益。