我正在学习核心数据 如何使用核心数据删除和更新数据。我曾经在上传和获取。我需要编写删除和更新的方法。请告诉我如何使用核心数据更新和删除重新编码。如何使用核心数据更新和删除需要记录的表格
下面我编写了使用核心数据从表中上载和提取数据的代码。
for (NSManagedObject *managedObject in items) {
[self.managedObjectContext deleteObject:managedObject];
DebugLog(@"%@ object deleted",entityDescription);
}
if (![self.managedObjectContext save:&error]) {
DebugLog(@"Error deleting %@ - error:%@",entityDescription,error);
}
更新以类似的方式进行,取对象需要,更改:
-(void)uploadData
{
Employee *empObj=(Employee *)[NSEntityDescription insertNewObjectForEntityForName:@"Employee" inManagedObjectContext:self.managedObjectContext];
empObj.empId=[NSNumber numberWithInt:12345];
empObj.empSalary=[NSNumber numberWithInt:25000];
[email protected]"Venu";
[email protected]"Programmer";
[email protected]"2 Years";
if ([self.managedObjectContext hasChanges])
{
[self.managedObjectContext save:nil];
}
}
-(void)fetchData
{
NSEntityDescription *empEntity = [NSEntityDescription entityForName:@"Employee" inManagedObjectContext:self.managedObjectContext];
// Setup the fetch request
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entity];
NSArray *fatherArray=[self.managedObjectContext executeFetchRequest:request error:nil];
[request setEntity:empEntity];
NSArray *empArray=[self.managedObjectContext executeFetchRequest:request error:nil];
for (int i=0; i<[empArray count]; i++)
{
printf("\n=================================Recored== %d==================================== ",i);
Employee *empObj=[empArray objectAtIndex:i];
printf("\n obj.empName========= %s",[empObj.empName UTF8String]);
printf("\n obj.empDesignation========= %s",[empObj.empDesignation UTF8String]);
printf("\n obj.empExp========= %s",[empObj.empExp UTF8String]);
printf("\n obj.empId========= %d",[empObj.empId intValue]);
printf("\n obj.empSalary========= %d",[empObj.empSalary intValue]);
printf("\n============================================================================= ");
}
}
这里会发生什么?是否足够聪明地保存“更改记录”或更新empArray中的所有项目? – frankish 2014-07-03 20:20:13