在多个实体核心数据中插入值

时间:2011-11-02 17:49:51

标签: iphone core-data ios5

我正在尝试在2个实体中插入值。如果我使用2个NSManagedObject,每个都设置为不同的实体,但我想知道是否有另一种方法可以实现它 - 一种更优雅的方式。 现在我正在做这样的事情:

NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Entity" inManagedObjectContext:self.managedObjectContext];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];

[newManagedObject setValue:[NSDate date] forKey:@"Date"];
NSError *error = nil;
if (![context save:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}
NSEntityDescription *entity2 = [NSEntityDescription entityForName:@"Entity2" inManagedObjectContext:self.managedObjectContext];
NSManagedObject *newManagedObject2 = [NSEntityDescription insertNewObjectForEntityForName:[entity2 name] inManagedObjectContext:context];

[newManagedObject2 setValue:[NSDate date] forKey:@"Date"];
NSError *error = nil;
if (![context save:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

它有效,但我不相信这是最好的方式。

0 个答案:

没有答案