jjzjj

nsmanagedobjectcontext

全部标签

ios - 父 MOC 从子 MOC 获取空数据的变化

我在CoreData和父子MOC上遇到了这个问题:当向子MOC添加对象、保存它们并保存父MOC时,所有对象的属性都会重置为默认值。我在这里粘贴了两个MOC的日志,具体是这些日志中重置的“stringAttribute”和“date”属性。我到处搜索这个问题,但没有找到任何东西,我也查看了很多父子MOC的实现,但我无法弄清楚我做错了什么。提前致谢!代码片段如下:我将一些NSManagedObject添加到主上下文中,然后使用saveContext:方法保存//Anothersingletonmethod-(void)anotherMethod{[...][self.managedObje

iphone - NSManagedObjectContext executeFetchRequest 返回不稳定的对象,导致 EXC_BAD_ACCESS、SIGABRT 等

我的猜测是我在这里缺少对核心数据的一些基本理解,但是这里是:我的应用程序中有多个提取请求来处理不同事物的检索。在某些情况下,代码运行良好,返回请求的对象。在某些情况下,它会返回似乎已经释放的对象(例如,稍后尝试引用返回结果的几行代码会给出EXC_BAD_ACCESS)。当我在代码中设置各种断点和日志语句并单步执行时,偶尔也会在代码的其他位置出现SIGABRT或EXC_BAD_ACCESS。在每种情况下,似乎都是在我去引用获取请求的结果时。这是一个这样的获取请求的示例://WhoamI?NSUserDefaults*defaults=[NSUserDefaultsstandardUser

iphone - Restkit 核心数据与 NSManagedObjectContext 集成

在过去的几周里,我正在学习Restkit(v0.10.0)和核心数据,这些伟大的工具带来了无限的可能性。问题是我对如何在这里看到更大的图景有点不知所措。而且由于Restkit的更新速度非常快,大部分教程/演示代码都已过时并且无法正常工作。我已经设法让我的tableview充满了远程服务器上我的json中的数据。我还研究了如何使远程数据领先与缓存结合使用,但我正在努力解决NSManagedObjectContext/NSEntityDescription(核心数据)以及在使用POST命令时它如何与Restkit一起工作。如果我理解正确,记录是在CoreData中创建的(在注释行//Cre

ios - MagicalRecord saveWithBlock 与 saveToPersistentStoreAndWait

我正在非常努力地理解有关MagicalRecord和CoreData的一切。比方说,我有2段代码做同样的事情,其中​​tallyM是在MR_defaultContext中运行的托管对象。选项1:Tally*tallyM=(Tally*)[TallyMR_findFirstWithPredicate:predicateM];[MagicalRecordsaveWithBlock:^(NSManagedObjectContext*localContext){Tally*tallyMLocal=[tallyMMR_inContext:localContext];tallyMLocal.tl_

iphone - 核心数据和多线程编程

我知道这不是一个新话题,但我还没有找到关于我的问题的明确答案。我正在做一个项目,它有一个包含“书”的核心数据模型。因此,当我通过网络下载json数据时,我想将这些Book模型存储在我的核心数据中(当然在后台线程中以不阻塞UI),然后将这些Book模型传递给我的Controller和加载表。但是,当我学习了Apple的CoreDataReference时,我感到困惑。该文件说我不应该在上下文之间传递托管对象。但是我有两个上下文,一个用于主线程,一个用于后台线程,用于下载、存储数据和获取当前更新的数据。所以我应该做的是在后台获取托管对象ID,并将这些ID传递给主线程中的上下文,然后在主线程

ios - 在不同线程上访问 NSManagedObject 的 objectID?

我的UITableViewCell的部分内容创建因一个对象(CoreDataNSManagedObject)初始访问时发生的故障而延迟。这表现为一个小问题,单元格首先滚动到View中。我决定将对这些对象的访问推送到后台线程。我就是这样实现的,效果很好,但是我们都知道我们不应该在另一个线程中访问一个线程(主线程)的NSManagedObjectContext,但是我们可以在一个线程中获取对象的objectID如果它最初是在第一个线程中获取的,第二个线程?获取objectID需要花费少量时间,我希望将其与其他所有内容一起插入后台。MyRecord*record=[self.frcobjec

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

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

ios - 添加多行/连续行 - 在 Coredata 中填充数据库

如何在coredata和xcode中插入多个/连续的新行?-(void)LoadDB{CoreDataAppDelegate*appdelegate=[[UIApplicationsharedApplication]delegate];context=[appdelegatemanagedObjectContext];NSManagedObject*newPref;newPref=[NSEntityDescriptioninsertNewObjectForEntityForName:NSStringFromClass([Preferenceclass])inManagedObjectC

ios - 魔法记录,无法保存对象 : contextDidSave == NO, error = nil

我正在尝试持久化新实体:-(void)updateStorageWithQuizzess:(NSArray*)quizzesscompletion:(void(^)(NSArray*quizzess,BOOLsucces,NSError*error))completion{NSMutableArray*mutableArray=[NSMutableArrayarray];[QuizMR_truncateAll];[[NSManagedObjectContextMR_context]MR_saveWithBlock:^(NSManagedObjectContext*localContex

ios - 我如何获取在 NSManagedObjectContext 中获取的模型对象的快照,以便在释放上下文后它们可用?

我有兴趣编写一种方法,该方法根据对文档名称的一些查询返回类Document的对象。Document恰好是NSManagedObject的子类,但消费者并不关心这个。Document对象在方法内部成功出错,并且可以访问其属性。然而,一旦离开该方法并且用于获取的NSManagedObjectContext被释放,该对象将再次变成错误。有没有办法将NSManagedObject从它的上下文中分离出来,这样它就不会变成错误?当然,这不允许保存对对象的更改,但我对此不感兴趣。我不想诉诸于:编写一个NonManagedDocument类来镜像Document类。只要我对文档感兴趣,就可以使用NSM