我有兩個實體:核心數據:複製NSManagedObject使用類別
- 票務
- TicketResolved
兩個實體具有相同的屬性。什麼是將Ticket
NSManagedObject
複製到TicketResolved
NSManagedObject
的最有效方法?
我在想使用類別:Ticket+Copy
是最便宜的方式?如果是這樣,我將不得不#import
Ticket
和TicketResolved
在類別文件中。
這是我想出的,有人可以請告知,如果這是正確的方式去做。我爲每個實體使用NSManagedObjectSubclass
。在Ticket+Copy
方法:
-(TicketResolved *)copyObjects:(Ticket *)ticket
{
TicketResolved *ticketResolved = [NSEntityDescription insertNewObjectForEntityForName:@"TicketResolved" inManagedObjectContext:self.managedObjectContext];
ticketResolved.attribute = ticket.attribute;
// Assign rest of the ticketResolved attributes values this way
return ticketResolved;
}
現在調用方法
#import Ticket;
#import Ticket+Copy;
@implementation
....
Ticket *ticket = [NSEntityDescription insertNewObjectForEntityForName:@"Ticket" inManagedObjectContext:self.managedObjectContext];
TicketResolved *newTicketResolved = [ticket copyObjects:ticket];
// 'newTicketResolved' now has all the keys/values that 'ticket' had.
這是一個正確的做法還是有一個簡單的方法來做到這一點?
也許[這種方法](http://stackoverflow.com/a/19189035/1990236)會適合你嗎? –