私は2つのエンティティを持っています:
- チケット
- 解決済みのチケット
どちらのエンティティも同じ属性を持っています。Ticket
NSManagedObject
aを toにコピーする最も効率的な方法は何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.
これは正しいアプローチですか、それとももっと簡単な方法がありますか?