如何更新核心数据input值

[newVehicle setValue: _txtFieldVehicleNumber.text forKey:@"number"]; [newVehicle setValue: lblFuelType.text forKey:@"fueltype"]; [newVehicle setValue: lblFuelUnit.text forKey:@"fuelunit"]; [newVehicle setValue: lblDistanceUnit.text forKey:@"distanceunit"]; 

我想更新我的核心数据实体名为“Vehicle”,该实体我有几个属性,我想更新其中的一些,但不是全部时,我从实体中select特定的属性。 所以我该怎么做 ??

你可以做下面的事情(近似代码,实现error handling和检查语法)。

 NSFetchRequest *fetchRequest=[NSFetchRequest fetchRequestWithEntityName:@"Vehicle"]; NSPredicate *predicate=[NSPredicate predicateWithFormat:@"vehicle_id==%@",vehicle_id]; // If required to fetch specific vehicle fetchRequest.predicate=predicate; Vehicle *newVehicle=[[self.managedObjectContext executeFetchRequest:fetchRequest error:nil] lastObject]; [newVehicle setValue: _txtFieldVehicleNumber.text forKey:@"number"]; [newVehicle setValue: lblFuelType.text forKey:@"fueltype"]; [newVehicle setValue: lblFuelUnit.text forKey:@"fuelunit"]; [newVehicle setValue: lblDistanceUnit.text forKey:@"distanceunit"]; [self.managedObjectContext save:nil] 

从核心数据获取实体:

 VVdAppDelegate *delegate = (VVdAppDelegate *)[[UIApplication sharedApplication] delegate]; NSManagedObjectContext *managedObjectContext = [delegate managedObjectContext]; NSEntityDescription *entityDescriptionDelegate = [NSEntityDescription entityForName:@"entityName" inManagedObjectContext:managedObjectContext]; NSFetchRequest *requestData = [[NSFetchRequest alloc] init]; [requestData setEntity:entityDescriptionDelegate]; NSError *error; 

如果有多个NSManagedObject

 NSArray *objectsArray = [managedObjectContext executeFetchRequest:requestData error:&error]; for (NSManagedObject *object in objectsArray) { // Here update values of every object } // And save values to core data [managedObjectContext save:&error];