我有一个自定义类Thing:NSManagedObject,其属性为adminName。
我正在尝试在这个Thing类中创建一个copyWithZone函数,但是当我运行应用程序时,它说setAdminName不存在。
在我的实施文件中,我正在使用
@dynamic adminName;
-(id) copyWithZone: (NSZone *) zone
{
Thing *regCopy = [[Thing allocWithZone: zone] init];
regCopy.attendeeNum = [self adminName];
return regCopy;
}
我不相信我可以将@dynamic更改为@synthesize,因为我使用的是Core Data。
答案 0 :(得分:5)
NSManagedObject不符合NSCopying协议。如果要使用相同的数据创建新记录,只需插入一个新对象并将第一个对象的值分配给第二个对象。
答案 1 :(得分:4)
你需要创建一个新的东西,就像你创建原始的东西一样
Thing * regCopy = [NSEntityDescription insertNewObjectForEntityForName:@“Thing”inManagedObjectContext:self.managedObjectContext]