При извлечении из CoreData, если вы измените результаты, он обновит фактическое значение в CoreData при его сохранении.
Вы хотите, чтобы сначала выполнить свою выборку:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Entity" inManagedObejctContext:moc]];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:request error:&error];
// error handling code
После того, как у вас есть результаты, вы можете изменять отдельные записи ...
MyEntity *entity = [results objectAtIndex:0];
entity.title = @"updated attribute";
// save context
[moc save:&error];
EDIT: В быстры, он будет что-то вроде следующего:
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
var moc = appDelegate.managedObjectContext!
var fetchRequest = NSFetchRequest()
fetchRequest.entity = NSEntityDescription.entityForName("Entity", inManagedObjectContext: moc)
var error: NSError?
var results = moc.executeFetchRequest(fetchRequest, error: &error)
// error handling code
var entity: MyEntity = MyEntity()
entity.title = "updated attribute"
moc.save(&error)
Спасибо за ваш ответ. Как я могу сделать это в Swift? – user3592462
Я обновил ответ, чтобы включить быстрый код. Я не слишком много работал с Swift, но он должен быть похож на то, что я опубликовал. –
moc - это неразрешенный идентификатор – user3592462