multi-context-coredata
全部标签 我在核心数据中有一个实体,我尝试从两个不同的上下文中更新它。我正在存储我需要更新的托管对象的managedObjectID,因为它是线程安全的。在更新我的对象之前,我刷新对象以避免合并冲突。这是我的代码:context1.performBlock{letmyObject=context1.objectWithID(managedObjectId)context1.refreshObject(myObject,mergeChanges:true)myObject.property1=newValue}请注意,我没有在此处保存上下文,因为我想将这些更改作为事务的一部分与其他更新一起提交。对
我刚刚开始使用CoreData制作应用程序,但我熟悉MVC概念,因为我曾经使用(和开发)MVC框架在Web开发中做了大量工作。据我所知,CoreData会自动生成继承自NSManagedObject的类。这些对象是通过对上下文的获取请求或通过将新对象插入上下文来创建的。在我见过的应用程序中,除了与其在数据库中的属性相对应的属性之外,对象是空的,本质上使它们成为模拟实体表中一行的对象。那些自动生成的类和CoreData本身构成了应用程序模型是有道理的。在我传统上制作的应用程序中,有一个Model类负责处理所有数据。这通常是一个Singleton类,每个需要模型的Controller都可以
我有一些关于CoreData和sum函数的理论问题要问。我尝试用三种方法对CoreData表中的值求和。获取所有内容并使用表达式对其进行总结:NSArray*array1=[selfgetAll:self.managedObjectContext];intsum=[[array1valueForKeyPath:@"@sum.sum"]intValue];获取所有内容并使用for循环:intsum2=0;NSArray*array2=[selfgetAll:self.managedObjectContext];for(Test*tinarray2){sum2=sum2+[t.sumint
在我的CoreData模型中,我有一个使用中间实体建模的n2n关系:Person[11]AppointmentPerson2Appointment实体如下所示:@interfacePerson2Appointment:NSManagedObject//attributes@property(nonatomic,retain)NSNumber*participationState;//relations@property(nonatomic,retain)Person*person;@property(nonatomic,retain)Appointment*appointment;..
我将MagicalRecord与RestKit一起使用,但在执行轻量级迁移时遇到了问题。我关注了thisexample但是在thislineisexecuted之后得到了CoreData:error:-addPersistentStoreWithType:SQLiteconfiguration:(null).谢谢, 最佳答案 我的问题的解决方案是在XCode上执行“好的和旧的”清理。 关于ios-集成RestKit和MagicalRecord时CoreData轻量级迁移错误,我们在Sta
我无法理解NSManagedObjectContextConcurrencyType的文档。在以下情况下我会使用哪种类型,为什么?-(void)viewDidLoad{self.managedObjectContext=[[NSManagedObjectContextalloc]initWithConcurrencyType:???];[selfloadRecordsFromCoreData];}-(void)loadRecordsFromCoreData{[self.managedObjectContextperformBlockAndWait:^{//[self.managedOb
我的模型有一个实体“Filter”和一个实体“Color”。我想在它们之间有两个“对多”关系:“背景”和“前景”。(即每个“过滤器”都包含一个背景色数组和一个前景色数组,均为“颜色”类型)。我有两个问题。首先,当我建立关系时,“Color”的逆函数只能有一个值(我猜这意味着我不能做我想做的事)。其次,我无法弄清楚如何创建谓词来仅获取背景或仅获取前景。我假设以下将返回所有合并在一起的内容(如果它有效的话):NSFetchRequest*fetchRequest=[NSFetchRequestfetchRequestWithEntityName:@"Color"];NSPredicate*
我正在使用iOS5.1的xcode4.3版本的coredata项目。我已经制作了一个ARC空项目,并选中了CoreData复选框,然后按照xcode添加的方法来管理模型,并按照将预填充的sqllite数据库复制到我的应用程序的教程进行了修改,该预填充的数据库位于项目文件夹内的资源组中并具有模型和项目的相同名称。-(void)saveContext{NSError*error=nil;NSManagedObjectContext*managedObjectContext=self.managedObjectContext;if(managedObjectContext!=nil){if(
好的,我有一个coreData模型,带有一个称为Entity的TechnicalQuery。像这样...TechnicalQuery--------------NSString*detailNSDate*createdDateNSString*solutionNSString*name...在应用程序中是一个同步过程(按规范,该应用程序处于脱机状态),使用该应用程序的人将回到办公室并通过连接进行同步。无论如何,这并不重要。我使用相同的名称为NSManagedObject创建了TechnicalQuery子类。它具有已定义的@property详细信息以及@dynamic详细信息。目前,数
我有一个NSArray包含一些NSDictionary,每次我保存一个NSDictionary对象并将它添加到NSArray,我将它发送给添加/更新函数。我知道我读取的数据是正确的,当我以前添加没有更新功能的数据时,所有数据都插入到CoreData中,但我想添加更新功能来验证我放入的数据。现在,该函数添加第一个对象,然后一遍又一遍地转到“更新”。怎么了?我的代码:-(void)updateOrAddTrap:(NSMutableDictionary*)trapObject{NSIntegertrapID=[trapObject[@"id"]integerValue];Trap*trap