NSmanagedObject copyWithZone问题

时间:2012-08-15 18:11:21

标签: objective-c ios core-data copywithzone

我有一个自定义类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。

2 个答案:

答案 0 :(得分:5)

NSManagedObject不符合NSCopying协议。如果要使用相同的数据创建新记录,只需插入一个新对象并将第一个对象的值分配给第二个对象。

答案 1 :(得分:4)

你需要创建一个新的东西,就像你创建原始的东西一样

Thing * regCopy = [NSEntityDescription insertNewObjectForEntityForName:@“Thing”inManagedObjectContext:self.managedObjectContext]