草庐IT

nsmanagedobjectcontext

全部标签

ios - 将多个托管对象上下文与核心数据库一起使用

我正在使用核心数据来存储和获取我的数据,但我遇到了一些问题。我想使用两个线程并行进行以下操作:线程1将数据插入CoreData基表(A)。线程二将从另一个表(B)中获取数据。我该怎么做?我在谷歌上做了一些研究,他们说,我们需要使用多个托管对象上下文,但我不知道我们将如何使用它。 最佳答案 你不应该在多个线程上访问你的NSManagedObjectContext。在AppDelegate中创建的NSManagedObjectContext只能在主线程上访问。这意味着,您应该为您创建的每个线程创建一个NSManagedObjectCon

ios - 将多个托管对象上下文与核心数据库一起使用

我正在使用核心数据来存储和获取我的数据,但我遇到了一些问题。我想使用两个线程并行进行以下操作:线程1将数据插入CoreData基表(A)。线程二将从另一个表(B)中获取数据。我该怎么做?我在谷歌上做了一些研究,他们说,我们需要使用多个托管对象上下文,但我不知道我们将如何使用它。 最佳答案 你不应该在多个线程上访问你的NSManagedObjectContext。在AppDelegate中创建的NSManagedObjectContext只能在主线程上访问。这意味着,您应该为您创建的每个线程创建一个NSManagedObjectCon

ios - 创建一个 NSManagedObject 而不保存?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:StoreButDon'tSaveNSManagedObjecttoCoreData?我需要创建一个NSManagedObject而不保存它,我该怎么做?我想这样做的原因是应用程序有一个设置,用户可以在其中输入他们的详细信息,但是我只想在他们完成设置时保存对象(他们可以选择取消,在这种情况下对象需要丢弃而不保存,这就是为什么我不想立即插入它的原因)。我试过在没有上下文的情况下插入一个,但应用程序崩溃了。我尝试了以下方法:GuestInfo*guest;guest=(GuestInfo*)[NSEntityDe

ios - 创建一个 NSManagedObject 而不保存?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:StoreButDon'tSaveNSManagedObjecttoCoreData?我需要创建一个NSManagedObject而不保存它,我该怎么做?我想这样做的原因是应用程序有一个设置,用户可以在其中输入他们的详细信息,但是我只想在他们完成设置时保存对象(他们可以选择取消,在这种情况下对象需要丢弃而不保存,这就是为什么我不想立即插入它的原因)。我试过在没有上下文的情况下插入一个,但应用程序崩溃了。我尝试了以下方法:GuestInfo*guest;guest=(GuestInfo*)[NSEntityDe

ios - 奇怪的parent/child NSManagedObjectContext现象

我创建了两个这样的上下文://createwriterMOC_privateWriterContext=[[NSManagedObjectContextalloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];[_privateWriterContextsetPersistentStoreCoordinator:_persistentStoreCoordinator];//createmainthreadMOC_managedObjectContext=[[NSManagedObjectContextalloc]initW

ios - 奇怪的parent/child NSManagedObjectContext现象

我创建了两个这样的上下文://createwriterMOC_privateWriterContext=[[NSManagedObjectContextalloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType];[_privateWriterContextsetPersistentStoreCoordinator:_persistentStoreCoordinator];//createmainthreadMOC_managedObjectContext=[[NSManagedObjectContextalloc]initW

ios - 避免在 NSManagedObjectContext 中注册对象堆积(memleak)

我有一个内存密集型iOS应用程序,我正在努力确保内存使用量不会随着时间的推移而增加。我的应用程序有一个在应用程序的整个生命周期内都存在的“主”上下文,偶尔会为后台任务生成其他较小的上下文。我注意到的一件事是NSManagedObjects似乎长期在主上下文中保持注册状态,真正回收与从数据库中拉出对象相关的所有内存的唯一方法是调用[NSManagedObjectContextreset]。这当然会导致内存使用量大幅下降,因为最近关闭的ListView中的所有已注册对象都会从内存中正确弹出,但是这很烦人,因为您刚刚使在该上下文中注册的每个对象无效,您仍然有一个引用(即由仍然打开的View引

ios - 避免在 NSManagedObjectContext 中注册对象堆积(memleak)

我有一个内存密集型iOS应用程序,我正在努力确保内存使用量不会随着时间的推移而增加。我的应用程序有一个在应用程序的整个生命周期内都存在的“主”上下文,偶尔会为后台任务生成其他较小的上下文。我注意到的一件事是NSManagedObjects似乎长期在主上下文中保持注册状态,真正回收与从数据库中拉出对象相关的所有内存的唯一方法是调用[NSManagedObjectContextreset]。这当然会导致内存使用量大幅下降,因为最近关闭的ListView中的所有已注册对象都会从内存中正确弹出,但是这很烦人,因为您刚刚使在该上下文中注册的每个对象无效,您仍然有一个引用(即由仍然打开的View引

iOS RestKit 无法将本地实体保存到数据库

我正在使用RestKit0.20解析JSON数据并保存到数据库。这是一个映射实体SchoolClass,由RestKit处理并保存良好。我有另一个名为MyClass的实体,它存储我选择的类。这一个仅在设备上是本地的。这是我创建并保存MyClass实体的代码NSManagedObjectContext*managedObjCtx=[RKManagedObjectStoredefaultStore].mainQueueManagedObjectContext;MyClass*course=[managedObjCtxinsertNewObjectForEntityForName:@"MyC

iOS RestKit 无法将本地实体保存到数据库

我正在使用RestKit0.20解析JSON数据并保存到数据库。这是一个映射实体SchoolClass,由RestKit处理并保存良好。我有另一个名为MyClass的实体,它存储我选择的类。这一个仅在设备上是本地的。这是我创建并保存MyClass实体的代码NSManagedObjectContext*managedObjCtx=[RKManagedObjectStoredefaultStore].mainQueueManagedObjectContext;MyClass*course=[managedObjCtxinsertNewObjectForEntityForName:@"MyC