nsmanagedobjectcontext
全部标签 如果我有3个NSManagedObjectContext。一个。是根上下文。B.是一个后台保存上下文,解析一个JSON后生成NSManagedObjectsC.是在NSFetchedResultsController中使用的子上下文布局是这样的A/\BC当我在B中进行更改时,我告诉B保存,然后我告诉B.parent保存。我的想法是它会触发C将更新发送到它支持的我的UITableView。我的理论正确吗?或者我需要做些什么才能让C看到来自A的更新。我希望更改在进行时弹出到tableview中。具体来说,我试图了解这些child如何响应父环境的变化,以及这如何导致NSFetchedResu
我有一个Reminder实体,每当某个实体B被删除时,它需要更新其date属性。我花了几天时间编写代码,认为我可以在删除时在我的托管对象子类中做一些有用的事情。我试过了-(void)willSave{if(self.isDeleted)//useself.managedObjectContext}上下文为零。那里的关系也破裂了。很公平。所以...我开始为prepareForDeletion编写繁琐的代码以规避对象尚未删除的事实,但随后CoreData将self.managedObjectContext==nil扔到我面前。文档说这是我“在关系被破坏之前”做事的地方。那么,如果self.
在我正在开发的应用程序中,我需要同时访问和写入核心数据。我已经能够收集到这意味着我需要使用多个managedObjectContexts,但我不明白我应该如何设置这两个managedObjectContexts。我明白,一旦我设置好它们,我需要在其managedObjectContext的后台线程上执行写操作,然后通过这样的操作合并数据:CoreDataandthreads/GrandCentralDispatch.所以我的问题是,我将如何启动两个单独的managedObjectContext,以便我可以按照描述使用它们? 最佳答案
在具有一对多关系(一个“测试”,多个“测量”)的核心数据应用程序中,我曾经有这样的代码:在AppDelegate.m中:-(NSManagedObjectContext*)managedObjectContext{if(_managedObjectContext!=nil)return_managedObjectContext;NSPersistentStoreCoordinator*coordinator=[selfpersistentStoreCoordinator];if(coordinator!=nil){_managedObjectContext=[[NSManagedObj
我有两个NSManagedObject子类。航类和飞机。每个Flight都与一架Aircraft相关联。当用户创建一个航类时,我只做以下事情:NSEntityDescription*entity=[NSEntityDescriptionentityForName:@"Flight"inManagedObjectContext:self.managedObjectContext];self.flight=[[Flightalloc]initWithEntity:entityinsertIntoManagedObjectContext:nil];创建对象但不要将其插入到managedObj
我有多个NSPersistentStoreCoordinator实例,每个实例只有一个NSPersistentStore,所有实例都指向同一个sqlite文件。在我的测试中,在它们之间传递NSManagedObjectID对象,然后调用-(NSManagedObject*)existingObjectWithID:(NSManagedObjectID*)objectIDerror:(NSError**)error在NSManagedObjectContext上似乎工作正常,但我还没有看到任何来自苹果的文档来确认这应该工作正常。所以,我的问题是,如果有人知道这是否应该起作用(指向某些苹果
当我的一个NSManagedObjectContext正在运行它的performBlock时,用户选择退出他们的帐户(这将重置所有上下文并删除持久存储)。此重置代码显然与performBlock在相似的时间运行,因此应用程序崩溃并出现以下异常:***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法从此NSManagedObjectContext的协调器访问对象的持久存储”它崩溃的确切位置似乎是当一个上下文在其performBlock中保存时,然后它会发出didsave通知,并合并到另一个上下文中.这是堆栈跟踪:0CoreFoundat
我是iOS开发新手。我只想在核心数据表中显示重复数据数组的单个值。我知道这个问题被问过很多次,但我没有得到解决方案。请帮助我。我创建了一个在一个View中包含一个View的应用程序,我创建了一个HMSegmentedControll,在HMSegmentedControll中,我添加了10分段控件,每个分段控件都包含UITableView,当用户选择任何UITableViewCell时,我想制作它数据也存储在核心数据中,它工作正常但总是添加相同的数据我想停止复制这个相同的数据数组。请给我解决方案这是我的UITableViewCell选择方法代码。-(void)tableView:(UI
在将模型文件从一个项目移动到另一个项目时,我经常遇到崩溃。知道为什么吗?如果我从Xcode创建它,并手动创建实体,它不会发生。为什么?lazyvarmanagedObjectModel:NSManagedObjectModel={//Themanagedobjectmodelfortheapplication.Thispropertyisnotoptional.Itisafatalerrorfortheapplicationnottobeabletofindandloaditsmodel.letmodelURL=NSBundle.mainBundle().URLForResource(
我正在使用CoreData在我正在编写的模块中缓存服务器数据,并希望能够强制应用程序的其他部分不要修改该数据。是否可以将我的NSManagedObject实例或用于获取它们的NSManagedObjectContext标记为只读?由于可以直接从对象访问上下文,因此消费者可以自由修改对象并调用[obj.managedObjectContextsave:&errror]。我已经看到很多关于创建完全只读存储的引用资料(如此处:UnabletocreateareadonlysqlitestoreinCoreData:CocoaError260),但我不希望NSPersistentStore本身