How to update entered kernel data values

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

I want to update my main data object called "Vehicle", for this object I have several attributes, and I want to update some of them, but not all, when I select a specific attribute from the object. So what should I do?

+6
source share
2 answers

you can do the following (example code: perform error handling and check syntax).

 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] 
+17
source

Get the entity from the master data:

 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; 

If more than NSManagedObject exists

 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]; 
+3
source

Source: https://habr.com/ru/post/954787/