问题标签 [nsmanagedobjectcontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2332 浏览

cocoa - 来自合并模型的 NSManagedObjectModel 中的跨模型关系?

如果实体总是在通过合并相关模型创建的 NSManagedObjectModel 中使用,是否可以对在单独的 NSManagedObjectModels 中定义的实体之间的关系进行建模?

例如,假设模型 1 定义了Foo具有关系(一对一)toBar的实体,而模型 2 定义了Bar具有关系(一对一)的实体toFoo。我将使用合并模型 1 和模型 2 来构建 CoreData 堆栈-[NSManagedObjectModel mergedModelFromModels]。有没有办法在数据建模器中或以编程方式定义这些关系,以便它们表现得好像它们是模型内关系?

0 投票
1 回答
2572 浏览

iphone - 核心数据:从详细视图编辑对象

我刚开始使用 Core Data,我在主从视图系统中设置了一个 iPhone Core Data 项目。主视图包含项目,而详细视图允许您编辑所选项目的属性。

我正在寻找最佳选项以实施编辑。我是否会将 NSManagedObjectContext 传递给详细视图控制器以进行修改和保存更改,或者这是否可行?是否有任何示例代码演示如何执行此操作?

0 投票
3 回答
24100 浏览

iphone - 如何跟踪/观察子图中的所有变化?

我有一个 NSManagedObjectContext,其中有许多 NSManagedObjects 的子类,其中一些是其他的容器。我想做的是观察一个顶级对象,以了解对其任何属性、关联或它包含的任何对象的属性/关联的任何更改。

使用上下文的“hasChanges”并没有给我足够的粒度。对象 'isUpdated' 方法仅适用于给定对象(而不适用于其关联中的任何内容)。是否有一个方便的(也许是基于 KVO 的)我可以观察到仅限于子图的上下文中的变化?

0 投票
1 回答
613 浏览

objective-c - 为什么在没有明确合并的情况下,更改可能会从一个 NSManagedObjectContext 填充到另一个?

我正在开发一个利用多个线程/NSManagedObjectContexts 的对象导入功能,使用http://www.mac-developer-network.com/columns/coredata/may2009/作为我的指南(请注意,我正在为 iPhone 开发)。

出于某种原因,当我保存我的一个上下文时,另一个会立即更新更改,即使我已经注释掉了我对 mergeChangesFromContextDidSaveNotification 的调用。在没有明确调用的情况下,上下文可能会相互合并,是否有任何原因?

这里是发生了什么的日志:

如您所见,测试上下文在中途被保存,并且主上下文突然具有来自测试上下文的新对象,即使我还没有执行整个 NSManagedObjectContextDidSaveNotification/mergeChangesFromContext 组合。

我的理解是,除非明确这样做,否则不会合并任何更改……有人知道这里发生了什么吗?

0 投票
2 回答
1717 浏览

objective-c - 使用 FetchResultController 和 ManagedObjectContext 获取对象的区别

使用 FetchResultController 或 ManagedObjectContext 从核心数据获取元素有什么区别?

1) FetchResultController

2) ManagedObjectContext

0 投票
1 回答
88 浏览

iphone - NSContextManagedObject - Problem Accessing it

I have tab bar navigation application and The problem is that in my root controller I am able to set its NSContextManagedObject to the app delegates...However when I try to do the same on the other controller the application freezes...

This only happens in the ViewDidLoad but thats where I need to set it so I can fetch the data

Im accessing it like this but it works on the RootviewController:
MyAppDelegate appD = (MyAppDelegate)[[UIApplication sharedApplication] delegate]; managedObjectContext = appD.managedObjectContext

Just does not work when I use it on other view controllers

0 投票
1 回答
1005 浏览

iphone - 如何不保留从 NSManagedObjectContext 检索到的 NSManagedObjects

对于我去的每个新节点,我解析一个包含书籍的 xml 文件:

为了获得我的核心数据书实体的 NSManagedObject,然后我继续用数据填充托管书对象,将其添加到数组中,冲洗,重复。

完成后,我将书籍列表呈现给用户。我还没有执行保存:

用户现在选择其中一本书,这本我想坚持,但只有这本,其他所有的书我都不再感兴趣。图书实体没有/或属于任何关系。它只是一个“单一”实体。

如果我拉动“保存杆”,每个 Book 对象都将被保留,我将不得不删除除我想要的对象之外的所有内容。

我将如何解决这个挑战,我似乎真的无法在核心数据编程指南中找到那个特定的用例,这也让我有些烦恼,我是否违背了最佳实践?

感谢您提供的任何帮助。

0 投票
1 回答
164 浏览

core-data - 为 FetchedResults 集中的每个结果设置属性值

在我的核心数据实体“书”上,我有一个布尔属性“wasViewed”(NSNumber numberWithBool),它告诉我这本书是否被“查看”。

我想为我所有的 NSManagedObjects“书”实现一种“重置”这个属性。这样我就可以在会话之间将它们全部设置为 NO。我使用 NSPredicate 检索所有书籍,如下所示:

这工作得很好,但是,现在我需要设置一个循环,遍历每个 Book 对象,如下所示:

有没有办法对适合谓词的每个元素执行操作而不是检索它?因此,不是executeFetchRequestmanagedObjectContext它可能是 executeOperationOnFetchRequestResults或类似的东西。

感谢您提供的任何输入:)

0 投票
1 回答
251 浏览

iphone - coredata 在设备上使用旧文件版本

这是我之前的问题here的后续。重置模拟器解决了我之前的所有麻烦,我继续完成我的应用程序。

在将应用程序安装到我的 iPhone 设备上时,我现在遇到了完全相同的问题。它选择了我的数据库的旧版本,其中没有第二个实体,当我尝试访问第二个实体时崩溃:

我有两个问题:

1)究竟如何从手机中彻底删除我的应用程序以删除旧数据?(到目前为止,我已经尝试过定期删除应用程序,删除然后按住家和电源重启,在运行应用程序时诅咒和威胁应用程序......一切)

2) 当我的应用程序在应用商店中时,我如何防止这种情况发生,并且由于某种原因我决定要向商店添加另一个实体,或者向现有实体添加另一个属性?是否有“如果 x 不存在则创建它”方法?

0 投票
3 回答
4554 浏览

cocoa - 遍历 NSManagedObjectContext 对象?

我想遍历我的 NSManagedObjectContext 中的所有对象,并手动更新它们。然后,每个托管对象都应该更新。最好的方法是什么?