nsmanagedobjectcontext相关内容

NSManagedObjectContext 的 performBlock: 是做什么用的?

在 iOS 5 中,NSManagedObjectContext 有几个新方法,performBlock: 和 performBlockAndWait:.这些方法实际上是用来做什么的?它们在旧版本中替换了什么?应该将什么样的块传递给他们?我如何决定使用哪个?如果有人有一些使用示例,那就太好了. 解决方案 方法 performBlock: 和 performBlockAndWait: 用于向 ..
发布时间:2022-01-14 19:42:05 移动开发

NSManagedObjectContext 重置和回滚有什么区别?

文档说: - (void)reset 将接收器返回到其基本状态. 讨论 接收者的所有管理对象都被“遗忘".如果您使用此方法,您应该确保还丢弃对使用接收器获取的任何托管对象的引用,因为它们之后将无效. - (void)rollback 从撤消堆栈中删除所有内容,丢弃所有插入和删除,并将更新的对象恢复到它们最后提交的值. 讨论 此方法不会从一个或多个持久存储中重新获取数 ..
发布时间:2021-12-23 14:23:08 移动开发

为什么 NSManagedObject 实例不持有对其 NSManagedObjectContext 的强引用?

正如在关于 SO(以及 Apple docs),NSManagedObject 实例不具备强对它们起源的 NSManagedObjectContext 的引用.乍一看,这似乎是一个奇怪的决定,因为 NSManagedObject 实例在没有 context 的情况下几乎毫无用处,因为它会导致诸如 应该发生的故障没有触发. 谁能提供一些关于为什么会这样的背景?实现一个 NSManagedObj ..

Core Data 合并两个托管对象上下文

我的 Cocoa/Application 在主线程上有一个托管对象上下文.当我需要更新我的数据时,我的程序将: 开始一个新话题 从服务器接收新数据 创建新的托管对象上下文 向主线程发送通知以合并两个上下文 这是在主线程上接收通知的函数 - (void)loadManagedObjectFromNotification:(NSNotification *)saveNotifica ..

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

如果实体始终在通过合并相关模型创建的 NSManagedObjectModel 中使用,是否可以对在单独 NSManagedObjectModel 中定义的实体之间的关系进行建模? 例如,假设模型 1 定义了一个实体 Foo 与关系(一对一)toBar 而模型 2 定义了一个实体 Bar 与关系(一对一)toFoo.我将使用 -[NSManagedObjectModelmergedModel ..

NSManagedObjectContext 的 performBlock: 用于什么?

在 iOS 5 中,NSManagedObjectContext 有几个新方法,performBlock: 和 performBlockAndWait:.这些方法实际上是用来做什么的?它们在旧版本中替换了什么?什么样的块应该传递给他们?我如何决定使用哪个?如果有人有一些使用示例,那就太好了. 解决方案 performBlock: 和 performBlockAndWait: 方法用于将消息 ..
发布时间:2021-12-23 14:03:40 移动开发

多个 NSEntityDescriptions 声明 NSManagedObject 子类

我正在创建一个允许我使用 Core Data 的框架.在框架的测试目标中,我配置了一个名为MockModel.xcdatamodeld 的数据模型.它包含一个名为 MockManaged 的实体,该实体具有一个 Date 属性. 为了测试我的逻辑,我正在创建一个内存存储.当我想验证我的保存逻辑时,我创建了一个内存存储实例并使用它.但是,我一直在控制台中收到以下输出: 2018-08-14 ..
发布时间:2021-12-23 13:51:27 其他开发

核心数据:子上下文是否会为新插入的对象获得永久的对象 ID?

我有一个带有两个托管对象上下文设置的应用程序,如下所示: 父上下文:NSPrivateQueueConcurrencyType,链接到持久存储. 主上下文:NSMainQueueConcurrencyType,父上下文的子级. 当向主上下文插入一个新的托管对象时,我先保存主上下文,然后像这样保存父上下文: [context performBlockAndWait:^{NSError ..
发布时间:2021-12-23 13:50:03 移动开发

如何将 NSManagedObject 从一个上下文复制或移动到另一个上下文?

我认为这是一个相当标准的设置,有一个永远不会保存的暂存MOC(包含一堆从网络下载的对象)和另一个永久的MOC,它可以保留对象.当用户从scratchMOC 中选择一个对象添加到她的库中时,我想1)从scratchMOC 中删除该对象并插入到permanentMOC 中,或者2)将该对象复制到permanentMOC 中.Core Data FAQ 说我可以像这样复制一个对象: NSManaged ..

从 ViewController 刷新 AppDelegate 中的 NSPersistentStoreCoordinator

我有一个应用程序,其中在 AppDelegate 中设置了 PersistentStoreCoordinator.我想从保存的 sqlite 文件列表中加载一个新的 sqlite 数据库.我很高兴删除现有的 Persistent Store 和 sqlite 文件,并将 sqlite 文件替换为从表中加载的文件.但是,如何从选择新文件的 ViewController 操作重新加载/刷新 Persi ..

除了从 appDelegate 获取之外,如何为 viewController 获取 managedObjectContext?

最近我开始知道“你真的不应该调用 AppDelegate 来获取托管对象上下文".Apple 也将此建议写入了他们的文档 此处.它是这样的: 视图控制器通常不应该从全局对象(例如应用程序委托)中检索上下文——这使得应用程序架构变得僵化.视图控制器也不应该为自己使用创建上下文(除非它是嵌套上下文).这可能意味着使用控制器上下文执行的操作不会注册到其他上下文,因此不同的视图控制器将对数据有不同的 ..

如何正确更新详细信息视图中的 CoreData 对象?

我想要一个简单的应用程序,其中包含一个排序的项目列表.单击每个项目进入详细视图,单击另一个按钮更新项目的字段,该字段应重绘原始列表. 列表视图由: import SwiftUI导入核心数据结构内容视图:查看{@Environment(\.managedObjectContext) var 上下文@State private var itemName: String = ""//获取所有数据 ..

核心数据上下文和单例数据控制器

我有一个单例数据控制器来保存一组对象.请参阅我的解决方案的香蕉问题示例:singeltondataController banansArray 现在我想将香蕉数组保存到持久状态.本核心数据教程:核心数据 - 存储图像 让我对核心数据有了一个很好的总体了解,我能够在将数据控制器更改为单例之前将其包含在我的应用程序中. 现在什么是最好的? 我是否需要将应用程序委托中生成的 Core ..
发布时间:2021-06-09 20:04:36 移动开发

Objective C 查看一个方法被调用多少次的最佳方式

我想确定在 NSManagedObject 上调用特定方法的次数. 对于这样做的最佳方式,有人有什么建议? 请记住,我有 30 多个托管对象,我不想更改所有对象的超类. 谢谢 解决方案 在一个类别中创建一个替代方法,该方法跟踪静态变量中的调用次数,并将该方法与原始实现混合.请参阅 http://www.cocoadev.com/index.pl?MethodSwizzli ..
发布时间:2021-06-09 20:04:32 移动开发