【发布时间】:2017-05-30 21:55:31
【问题描述】:
我正在尝试复制一个包含核心数据实例的 NSManagedObject,但这样做时我的行为非常奇怪,就像复制后对象以某种方式相互链接并且对一个对象的更改也会影响另一个对象.
NSManagedObject *originalTransactionRow = [self.transactionRowsRows objectAtIndex:indexPath.row];
NSManagedObject *originalTransactionHeader = [self.transactionRowsHeader objectAtIndex:0];
NSString *originalOrderNumberLocalStr = [originalTransactionRow valueForKey:@"orderNumber"];
NSString *returnOrderNumber = [NWTillHelper getNewOrderNumber];
NSManagedObject *returnOrderHeader = nil;
NSManagedObject *returnOrderRow = nil;
returnOrderHeader = [NSEntityDescription insertNewObjectForEntityForName:@"OrderHead" inManagedObjectContext:context];
returnOrderRow = [NSEntityDescription insertNewObjectForEntityForName:@"OrderRow" inManagedObjectContext:context];
returnOrderHeader = originalTransactionHeader;
returnOrderRow = originalTransactionRow;
NSError *error = nil;
if(![context save:&error]) {
if([NWTillHelper isDebug] == 1) {
NSLog(@"Can't Delete! %@ %@", error, [error localizedDescription]);
return;
}
}
【问题讨论】:
-
这里有很多关于这个主题的实验:stackoverflow.com/questions/2730832/…
标签: objective-c core-data