を「コピー」する明確な方法はありませんNSManagedObject
。最も堅牢な方法は、すべてをゼロから再作成することです。
変更されたすべての属性が個別に保存されていることを確認してください (ここでは、それらがさまざまなテキスト フィールドにある、または既存のオブジェクトから変更されていないと想定しています)。編集中のView Controllerが閉じられたときに、この決定(新しいインスタンスかどうか)を行うことができます:
if (![nameTextField.text isEqualToString:object.name]) {
ObjectClass *newObject = [NSEntityDescription
insertNewObjectForEntityForName:@"ObjectClass"
inManagedObjectContext:self.managedObjectContext];
newObject.name = nameTextField.text;
newObject.attribute1 = oldObject.attribute1;
// or
newObject.attribute1 = attribute1TextField.text;
// do this for all attributes
[self.managedObjectContext save:nil];
}