如何更新核心数据输入的值

Par*_*iya 6 attributes entity core-data insert-update ios

[newVehicle setValue: _txtFieldVehicleNumber.text forKey:@"number"];

[newVehicle setValue: lblFuelType.text forKey:@"fueltype"];

[newVehicle setValue: lblFuelUnit.text forKey:@"fuelunit"];

[newVehicle setValue: lblDistanceUnit.text forKey:@"distanceunit"];
Run Code Online (Sandbox Code Playgroud)

我想更新名为"Vehicle"的核心数据实体,对于该实体,我有几个属性,我想更新其中一些但不是全部,当我从实体中选择特定属性时.所以我该怎么做 ??

Max*_*Max 17

您可以执行以下操作(近似代码.实现错误处理和检查语法).

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]
Run Code Online (Sandbox Code Playgroud)

  • 你能解释一下这行意味着什么:Vehicle*newVehicle = [[self.managedObjectContext executeFetchRequest:fetchRequest error:nil] lastObject]; (3认同)