NSmanagedObject copyWithZone выдает
У меня есть собственный класс Thing:NSManagedObject с атрибутом adminName.
Я пытаюсь создать функцию copyWithZone в этом классе Thing, но когда я запускаю приложение, оно говорит, что setAdminName не существует.
В моем файле реализации я использую
@dynamic adminName;
-(id) copyWithZone: (NSZone *) zone
{
Thing *regCopy = [[Thing allocWithZone: zone] init];
regCopy.attendeeNum = [self adminName];
return regCopy;
}
Я не верю, что могу просто изменить @dynamic на @synthesize, так как я использую Core Data.
2 ответа
Решение
NSManagedObject не соответствует протоколу NSCopying. Если вы хотите создать новую запись с теми же данными, просто вставьте новый объект и присвойте значения из первого объекта второму объекту.
Вам нужно будет создать новую вещь так же, как вы создали оригинальную вещь, например
Thing *regCopy = [NSEntityDescription insertNewObjectForEntityForName:@"Thing" inManagedObjectContext:self.managedObjectContext]