刚开始iOS 7开发。我正在构建一个存储用户个人资料的应用。某些数据(如照片和评论)需要与多个用户相关。
通过研究,我发现Core Data实际上提供了这种类型的关系数据库。但超级n00bie问题 - 核心数据与单身人士相同吗?我应该使用哪个来访问多个viewControllers中的用户数据?
如果我进入Core Data路由,似乎我将在每个ViewController中实例化一个Core Data对象。这看起来不是太过分吗?
使用Singletons,我不必这样做,但我需要有适当的线程管理。
听起来不错?
答案 0 :(得分:1)
CoreData是一个对象模型框架,单例是一种设计模式。这甚至没有比较苹果和橘子,因为苹果和橘子都是水果。
但是您的问题似乎让您想知道如何在整个应用中访问您的数据。有一些常见的模式。
您通常使用NSManagedObjectContext的一个或多个实例。您可以将此实例传递给每个视图控制器。或者你可以有一些单例对象,它引用了NSManagedObjectContext。这个单例通常是App Delegate,特别是因为内置的Xcode模板已经在App Delegate中引用了你的NSManagedObjectContext。
答案 1 :(得分:0)
根本不是一回事。
Core Data允许您创建NSMamagedObject的子类,它是表示存储在磁盘上的sql数据库中的表的对象。
singleton是任何类的唯一实例(通常如果不是NSManagedObject)。
在维基百科上阅读有关单身人士的文章。
两者都与iOS7无关