nsmanagedobjectcontext
全部标签 我有一个View,我从主NSManagedObjectContext中检索保存的实体(Route*)。我想将其导入tempContext。按照MarcusZarra的示例,我这样做:NSManagedObjectContext*moc=_route.managedObjectContext;NSManagedObjectID*routeId=[_routeobjectID];NSPersistentStoreCoordinator*psc=moc.persistentStoreCoordinator;self.tempContext=[[NSManagedObjectContextal
我正在尝试在后台下载一些JSON对象,并且正在执行相当多的多线程操作。操作完成后,我注意到此断言失败:NSAssert([user.managedObjectContextisEqual:[AppUsermanagedObjectContext]],@"Differentcontexts");如何将更改合并到[AppUsermanagedObjectContext]定义的主上下文中? 最佳答案 我强烈建议您阅读以下链接importing-and-displaying-large-data-sets-in-core-data作者:Ma
核心数据让我心烦意乱。我正在删除旧数据并想插入从服务器收到的新数据。现在删除部分给出了一个“sigabort”:-[NSManagedObjectContextdelete:]:unrecognizedselectorsenttoinstance0x522f5502013-09-2714:05:56.592*Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'-[NSManagedObjectContextdelete:]:unrecognizedselectorsenttoinstance0
在将NSManagedObjectContext的performBlock:与通知中心一起使用时,我遇到了有趣的行为。我从主UI线程触发异步数据下载(使用NSURLConnection的connectionWithRequest:)。当数据到达时调用以下委托(delegate)方法:-(void)downloadCompleted:(NSData*)data{NSArray*new_data=[NSJSONSerializationJSONObjectWithData:dataoptions:0error:nil];self.backgroundObjectContext=[[NSMa
问题很简单:什么时候使用NSManagedObjectContext的save:(NSError**)error方法?据我了解,它所做的唯一一件事就是将更改的数据保存到持久存储中。Xcode模板生成的应用程序委托(delegate)在applicationWillTerminate上调用save:方法,这样就足够了吗?关于我的代码的详细信息:多线程(在后台执行操作,因此使用多个NSManagedObjectContext)我正在使用单个NSPersistentStoreCoordinator使用mergeChangesFromContextDidSaveNotification:合并在
我得到的结果为空AppDelegate.h@property(readonly,strong,nonatomic)NSManagedObjectContext*managedObjectContext;@property(readonly,strong,nonatomic)NSManagedObjectModel*managedObjectModel;@property(readonly,strong,nonatomic)NSPersistentStoreCoordinator*persistentStoreCoordinator;AppDelegate.m@synthesizeman
我想在CoreData中使用多线程。我在NSManageObject中解析xml文件。我使用下面的代码,但出现运行时错误Canonlyuse-performBlock:onanNSManagedObjectContextthatwascreatedwithaqueue。怎么了?//xmlParser-(void)main{dispatch_queue_tqueueB=dispatch_queue_create("CreateBooks",NULL);dispatch_async(queueB,^{//Openingxml//...NSManagedObjectContext*conte
我已经尝试解决这个问题2天了。我在尝试保存时不断收到错误消息。//self.dataisNSManagedObject.kAppDelegate.mocisthemanagedobjectcontext.self.data=[NSEntityDescriptioninsertNewObjectForEntityForName:@"Data"inManagedObjectContext:kAppDelegate.moc];[self.datasetValue:[NSNumbernumberWithBool:NO]forKey:@"isit"];[self.datasetValue:@""
我是CoreData的新手,我想知道我做的事情是否正确。首先文档说:“按照惯例,您从ViewController获取上下文。不过,您必须适本地实现您的应用程序才能遵循此模式。当您实现与CoreData集成的ViewController时,您可以添加NSManagedObjectContext属性。当您创建一个ViewController时,您将它传递给它应该使用的上下文。您传递现有的上下文,或者(在您希望新Controller管理一组离散的编辑的情况下)您为其创建的新上下文。创建一个上下文以传递给显示的第一个ViewController通常是应用程序委托(delegate)的责任。”h
当基于CoreData的iOS应用程序尝试从服务器发送的数据构建初始数据库时,我遇到了问题。基本上,服务器向下发送1MB的对象block(每个block大约3,000个),iOS客户端反序列化它们并将它们写入磁盘。我看到的是前8个block(共44个)一切都进展顺利,然后性能急剧下降,每个block开始花费越来越长的时间,如下图所示。几乎所有时间都消耗在[NSManagedObjectContextsave]中,正如您在Instruments分析数据中所见,但由于某种原因,应用程序似乎不再以100%的CPU运行,例如它正在等待磁盘I/O或其他东西。关于我是如何做到这一点的一些重要事实: