Core Data是否与ios 7开发中的Singleton相同?

时间:2014-05-03 22:13:17

标签: objective-c ios7

刚开始iOS 7开发。我正在构建一个存储用户个人资料的应用。某些数据(如照片和评论)需要与多个用户相关。

通过研究,我发现Core Data实际上提供了这种类型的关系数据库。但超级n00bie问题 - 核心数据与单身人士相同吗?我应该使用哪个来访问多个viewControllers中的用户数据?

如果我进入Core Data路由,似乎我将在每个ViewController中实例化一个Core Data对象。这看起来不是太过分吗?

使用Singletons,我不必这样做,但我需要有适当的线程管理。

听起来不错?

2 个答案:

答案 0 :(得分:1)

CoreData是一个对象模型框架,单例是一种设计模式。这甚至没有比较苹果和橘子,因为苹果和橘子都是水果。

但是您的问题似乎让您想知道如何在整个应用中访问您的数据。有一些常见的模式。

您通常使用NSManagedObjectContext的一个或多个实例。您可以将此实例传递给每个视图控制器。或者你可以有一些单例对象,它引用了NSManagedObjectContext。这个单例通常是App Delegate,特别是因为内置的Xcode模板已经在App Delegate中引用了你的NSManagedObjectContext。

答案 1 :(得分:0)

根本不是一回事。

Core Data允许您创建NSMamagedObject的子类,它是表示存储在磁盘上的sql数据库中的表的对象。

singleton是任何类的唯一实例(通常如果不是NSManagedObject)。

在维基百科上阅读有关单身人士的文章。

两者都与iOS7无关