草庐IT

managedObjectContexts

全部标签

ios - 从非事件状态恢复应用程序后,NSManagedObject 的 managedObjectContext 变为 nil

也许你能帮忙,我在其他问题中找不到类似的东西,所以我想我可能会遗漏一些明显的东西。我有Swift中的CoreData+iCloud应用程序。问题场景:启动应用NSManagedObject读取/更新按“主页”(使应用处于非事件状态)恢复应用NSManagedObject读取/更新如果我已经在我的设备上登录iCloud,那么这就可以正常工作。如果我从iCloud注销,那么所有应用程序都可以正常工作,如果我执行问题场景,那么在第5步中NSManagedObject的managedObjectContext为nil,因此我无法对其进行任何更改,并且由于上下文丢失一旦我需要现有对象的上下文,它

iphone - 我应该在保存前检查 `[managedObjectContext hasChanges]` 吗?

//Savechangesifany.NSError*error;if([managedObjectContexthasChanges]&&![managedObjectContextsave:&error]){//TODO:handlethiserrorbetter.NSLog(@"Unresolvederror%@,%@",error,[erroruserInfo]);abort();} 最佳答案 这取决于。如果您确定已对managedObjectContext进行了更改,则无需检查。但是,如果有任何可能未进行更改,则应在保存前

ios - NSManagedObject prepareForDeletion 中的 self.managedObjectContext == nil 有什么意义?

我有一个Reminder实体,每当某个实体B被删除时,它需要更新其date属性。我花了几天时间编写代码,认为我可以在删除时在我的托管对象子类中做一些有用的事情。我试过了-(void)willSave{if(self.isDeleted)//useself.managedObjectContext}上下文为零。那里的关系也破裂了。很公平。所以...我开始为prepareForDeletion编写繁琐的代码以规避对象尚未删除的事实,但随后CoreData将self.managedObjectContext==nil扔到我面前。文档说这是我“在关系被破坏之前”做事的地方。那么,如果self.

ios - 核心数据设置多个 managedObjectContexts

在我正在开发的应用程序中,我需要同时访问和写入核心数据。我已经能够收集到这意味着我需要使用多个managedObjectContexts,但我不明白我应该如何设置这两个managedObjectContexts。我明白,一旦我设置好它们,我需要在其managedObjectContext的后台线程上执行写操作,然后通过这样的操作合并数据:CoreDataandthreads/GrandCentralDispatch.所以我的问题是,我将如何启动两个单独的managedObjectContext,以便我可以按照描述使用它们? 最佳答案

ios - 需要修复代码 "Property ' managedObjectContext' not found on object of type 'id' 中的错误。”

我正在为我的类(class)编写这段代码,但我卡住了,错误是“在‘id’类型的对象上找不到属性‘managedObjectContext’它落在这行代码上:if(![self.detailItem.managedObjectContextsave:&error])我知道在代码的前面我将newDetailItem设置为类型id?:-(void)setDetailItem:(id)newDetailItem{if(_detailItem!=newDetailItem){_detailItem=newDetailItem;//Updatetheview.[selfconfigureView]

ios - 核心数据 : executeFetchRequest:error: returns objects with no managedObjectContext

我遇到了一个问题,其中NSManagedObjectContext的executeFetchRequest:error:正在返回尚未插入的NSManagedObjects数组在上下文中。我的方法:-(NSArray*)deleteAllObjectsWithEntityName:(NSString*)entityName{NSFetchRequest*fetchRequest=[[NSFetchRequestalloc]init];NSEntityDescription*entityDesc=[NSEntityDescriptionentityForName:entityNameinM

ios - 初始化核心数据managedObjectcontext

我正在使用单例数据Controller从两个不同的View调用我的核心数据函数:创建View和历史View。第一个View只有创建或查看历史记录按钮才能转到相应的View。我的问题是我必须通过我的创建过程(在创建View中按createCare)才能在我的历史View中接收来自Core数据的任何内容。因此,我假设我必须启动我的managedObjectContext。还是我需要初始化一些其他核心数据元素?我在appDelegate中初始化了dataControllerSingelton。但是,我不知道如何在我的单个初始化方法中初始化托管对象上下文:+(DataControllerSin

ios - ManagedObjectContext performBlock(AndWait)死锁

我之前已经看过这个问题,但是在我的情况下,所有解决方案似乎都没有影响,这是:我的应用程序使用三个ManagedObjectContexts:1)在全局(后台)队列上创建具有NSPrivateQueueConcurrencyType并且没有父上下文的“diskManagedObjectContext”,并将其用于在后台线程上将上下文更改写入磁盘(持久存储):-(NSManagedObjectContext*)diskManagedObjectContext{if(!_diskManagedObjectContext){dispatch_sync(dispatch_get_global_q

ios - managedObjectContext 为零

我正在尝试将核心数据添加到现有项目中。我有:1)添加了核心数据框架2)将访问器和属性添加到AppDelegate3)创建数据模型文件现在当我尝试调用NSManagedObjectContext*context=[selfmanagedObjectContext];在ViewController中,上下文为nil,并且managedObjectContext永远不会触发。这是AppDelegate:#import"XXXAppDelegate.h"#import@implementationXXXAppDelegate@synthesizewindow=_window;@synthesi

ios - 对象没有保存到 SQL Lite 中,即使它说它已保存 [RestKit ManagedObjectContext]

所以我遇到了一个非常令人沮丧的问题......我正在使用Restkit从我的Django服务器获取对象并且映射成功完成。那也行!现在,我试图从我的SQLLite数据库中获取该对象并更改该对象并将其保存回来。例如:_managedObjectContext=[RKManagedObjectStoredefaultStore].mainQueueManagedObjectContext;NSFetchRequest*fetchRequest=[NSFetchRequestfetchRequestWithEntityName:@"User"];fetchRequest.predicate=[