建立一个将使用核心数据模型的应用程序。我非常熟悉Objective C,而我通常的设计模式并不适用于Core Data和Objective C,至少我似乎无法找到证实它们的例子。核心数据iPhone应用程序的设计模式
我已经通过苹果开发人员的例子和interrtubes上的不同来源。
看来,利用核心数据我需要通过managedObjectContext给我的每一个viewControllers的,拥有的viewController实施NSFetchedResultsControllerDelegate然后实现每做一个获取并随后实施方法
NSFetchedResultsChangeInsert
NSFetchedResultsChangeDelete NSFetchedResultsChangeMove NSFetchedResultsChangeUpdate
这增加了在每个的viewController的代码约100+线,它是90%相同的代码我连连写。另外,我必须通过一切,并跟踪它的内存占用情况。
在其他语言中,我将构建一些类的单例模型,该类包含根据请求维护和传递数据的方法,可以从任何地方获得。看来我不能在Objective C中采用这种方法。如果我在哪里构建一个采用managedObjectContext的静态类并返回了我需要的内容,我仍然必须将managedObjectContext传递给每个视图,而且它不会是异步,就像当我实现委托方法,当结果准备好时被调用。
我希望这是有道理的,有人可以确认没有其他合理的方法来做到这一点,或帮助指向我以一种好方式包装这个方向。
谢谢:)
在这里提出了一个类似的问题,这可能也有帮助:http://stackoverflow.com/questions/1267520/where-to-place-the-core-data-stack-in-a-cocoa-cocoa- touch-application – 2009-10-24 21:03:23