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]

Другие вопросы по тегам