问题标签 [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.
cocoa - 来自合并模型的 NSManagedObjectModel 中的跨模型关系?
如果实体总是在通过合并相关模型创建的 NSManagedObjectModel 中使用,是否可以对在单独的 NSManagedObjectModels 中定义的实体之间的关系进行建模?
例如,假设模型 1 定义了Foo
具有关系(一对一)toBar
的实体,而模型 2 定义了Bar
具有关系(一对一)的实体toFoo
。我将使用合并模型 1 和模型 2 来构建 CoreData 堆栈-[NSManagedObjectModel mergedModelFromModels]
。有没有办法在数据建模器中或以编程方式定义这些关系,以便它们表现得好像它们是模型内关系?
iphone - 核心数据:从详细视图编辑对象
我刚开始使用 Core Data,我在主从视图系统中设置了一个 iPhone Core Data 项目。主视图包含项目,而详细视图允许您编辑所选项目的属性。
我正在寻找最佳选项以实施编辑。我是否会将 NSManagedObjectContext 传递给详细视图控制器以进行修改和保存更改,或者这是否可行?是否有任何示例代码演示如何执行此操作?
iphone - 如何跟踪/观察子图中的所有变化?
我有一个 NSManagedObjectContext,其中有许多 NSManagedObjects 的子类,其中一些是其他的容器。我想做的是观察一个顶级对象,以了解对其任何属性、关联或它包含的任何对象的属性/关联的任何更改。
使用上下文的“hasChanges”并没有给我足够的粒度。对象 'isUpdated' 方法仅适用于给定对象(而不适用于其关联中的任何内容)。是否有一个方便的(也许是基于 KVO 的)我可以观察到仅限于子图的上下文中的变化?
objective-c - 为什么在没有明确合并的情况下,更改可能会从一个 NSManagedObjectContext 填充到另一个?
我正在开发一个利用多个线程/NSManagedObjectContexts 的对象导入功能,使用http://www.mac-developer-network.com/columns/coredata/may2009/作为我的指南(请注意,我正在为 iPhone 开发)。
出于某种原因,当我保存我的一个上下文时,另一个会立即更新更改,即使我已经注释掉了我对 mergeChangesFromContextDidSaveNotification 的调用。在没有明确调用的情况下,上下文可能会相互合并,是否有任何原因?
这里是发生了什么的日志:
如您所见,测试上下文在中途被保存,并且主上下文突然具有来自测试上下文的新对象,即使我还没有执行整个 NSManagedObjectContextDidSaveNotification/mergeChangesFromContext 组合。
我的理解是,除非明确这样做,否则不会合并任何更改……有人知道这里发生了什么吗?
objective-c - 使用 FetchResultController 和 ManagedObjectContext 获取对象的区别
使用 FetchResultController 或 ManagedObjectContext 从核心数据获取元素有什么区别?
1) FetchResultController
2) ManagedObjectContext
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
iphone - 如何不保留从 NSManagedObjectContext 检索到的 NSManagedObjects
对于我去的每个新节点,我解析一个包含书籍的 xml 文件:
为了获得我的核心数据书实体的 NSManagedObject,然后我继续用数据填充托管书对象,将其添加到数组中,冲洗,重复。
完成后,我将书籍列表呈现给用户。我还没有执行保存:
用户现在选择其中一本书,这本我想坚持,但只有这本,其他所有的书我都不再感兴趣。图书实体没有/或属于任何关系。它只是一个“单一”实体。
如果我拉动“保存杆”,每个 Book 对象都将被保留,我将不得不删除除我想要的对象之外的所有内容。
我将如何解决这个挑战,我似乎真的无法在核心数据编程指南中找到那个特定的用例,这也让我有些烦恼,我是否违背了最佳实践?
感谢您提供的任何帮助。
core-data - 为 FetchedResults 集中的每个结果设置属性值
在我的核心数据实体“书”上,我有一个布尔属性“wasViewed”(NSNumber numberWithBool),它告诉我这本书是否被“查看”。
我想为我所有的 NSManagedObjects“书”实现一种“重置”这个属性。这样我就可以在会话之间将它们全部设置为 NO。我使用 NSPredicate 检索所有书籍,如下所示:
这工作得很好,但是,现在我需要设置一个循环,遍历每个 Book 对象,如下所示:
有没有办法对适合谓词的每个元素执行操作而不是检索它?因此,不是executeFetchRequest
在managedObjectContext
它可能是
executeOperationOnFetchRequestResults
或类似的东西。
感谢您提供的任何输入:)
iphone - coredata 在设备上使用旧文件版本
这是我之前的问题here的后续。重置模拟器解决了我之前的所有麻烦,我继续完成我的应用程序。
在将应用程序安装到我的 iPhone 设备上时,我现在遇到了完全相同的问题。它选择了我的数据库的旧版本,其中没有第二个实体,当我尝试访问第二个实体时崩溃:
我有两个问题:
1)究竟如何从手机中彻底删除我的应用程序以删除旧数据?(到目前为止,我已经尝试过定期删除应用程序,删除然后按住家和电源重启,在运行应用程序时诅咒和威胁应用程序......一切)
2) 当我的应用程序在应用商店中时,我如何防止这种情况发生,并且由于某种原因我决定要向商店添加另一个实体,或者向现有实体添加另一个属性?是否有“如果 x 不存在则创建它”方法?
cocoa - 遍历 NSManagedObjectContext 对象?
我想遍历我的 NSManagedObjectContext 中的所有对象,并手动更新它们。然后,每个托管对象都应该更新。最好的方法是什么?