2

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

4

2 回答 2

5

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

于 2012-08-15T18:49:54.077 回答
4

您将需要以与创建原始事物相同的方式创建新事物,例如

事物 *regCopy = [NSEntityDescription insertNewObjectForEntityForName:@"Thing" inManagedObjectContext:self.managedObjectContext]

于 2012-08-15T18:45:38.677 回答