10得票2回答
奇怪的父/子NSManagedObjectContext现象

我创建了两个这样的上下文:// create writer MOC _privateWriterContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType]; [...

10得票1回答
核心数据并发队列模式的MOC getters线程安全性

我对来自NSManagedObjectContext文档的以下段落感到非常困惑:documentation: 基于队列的托管对象上下文中的setter方法是线程安全的。 您可以在任何线程上直接调用这些方法。 大问题是设置器方法是否适用于ManagedObjectContext,但不适用...

10得票1回答
合并模型中的NSManagedObjectModel中的跨模型关系?

在使用由相关模型合并创建的NSManagedObjectModel时,是否可以对在单独的NSManagedObjectModels中定义的实体之间的关系进行建模? 例如,假设模型1定义了一个名为Foo的实体,其中包含一个一对一的关系toBar,而模型2定义了一个名为Bar的实体,其中包含一个...

10得票2回答
最佳实践 - iOS中的NSManagedObjectContextObjectsDidChangeNotification

我正在使用Core Data编写我的第一个全面的应用程序,我想知道跟踪各种对象更改/更新/删除的最佳方式是什么。例如,我有一个Notes实体和一个Location实体,并且它们之间有一对一的关系,其思想是每个笔记都可以被标记其位置。然后我有一个带有fetchedResultsControlle...

10得票3回答
XCode 4.2中NSManagedObject上下文构建失败。

我创建了一个名为UserModel.xcdatamodeld的数据模型,其中只有一个Entry:UserBase,并添加了一个名为UserID、类型为Integer 32的属性。 之后,我使用文件->新建文件->NSManagedObject子类为其创建了类,自动生成了UserBase.h和...

10得票2回答
ViewContext未能从newBackgroundContext()接收更新

在stackoverflow上已经有一个类似的问题,但对我不起作用。 我的应用程序中有一个用例,我必须观察数据库更改以执行某些操作。为了接收更新,我订阅了 NSManagedObjectContextObjectsDidChange 通知(针对ViewContext),并且还打开了 auto...

10得票3回答
为什么NSManagedObject实例不持有对其NSManagedObjectContext的强引用?

正如在 SO 上的 另一个问题 (以及Apple文档)中指出的那样,NSManagedObject 实例不会对它们起源的 NSManagedObjectContext 保持强引用。乍一看,这似乎是一个奇怪的决定,因为 NSManagedObject 实例几乎没有它们的 context 是无用的...

9得票2回答
如何在NSManagedObjectContextWillSaveNotification中忽略mergeChangesFromContextDidSaveNotification中的更改

我正在使用一个私有托管对象上下文来创建一些新对象到持久储存中,然后在保存私有MOC之后,使用mergeChangesFromContextDidSaveNotification将它们合并到主MOC中。这很好用,并按要求更新UI,但是在这里mainMOC不会调用NSManagedObjectCo...

9得票2回答
如何在Swift中正确地测试Core Data

已经有很多关于这个主题的内容了,但我还没有找到适用于Swift(Xcode 6.2)的解决方案。 为了测试Swift中支持Core Data的类,我生成新的托管对象上下文,然后将其注入到我的类中。 //Given let testManagedObjectContext = Core...

9得票1回答
核心数据:我应该从父上下文中获取对象还是子上下文与父上下文具有相同的对象?

我对ManagedObjectContext的父/子上下文有些困惑。 当我设置一个子上下文并设置父上下文时,子上下文是否包含父上下文的所有对象?我使用了在AppDelegate中创建的默认的Core Data方法,但我将ConcurrencyQueue更改为主线程。 在我的更新数据库的方法...