如何向嵌套的Core Data对象添加新值?

时间:2012-08-31 19:37:19

标签: objective-c core-data nsmanagedobject

My Core Data对象模型有三个嵌套对象,如下所示:

Item
  Beverage
    Brand

当我第一次创建Item

的实例时
Item *item = [NSEntityDescription insertNewObjectForEntityForName:@"Item" inManagedObjectContext:self.objectContext];

item.beverage属性为nil。接下来,我想在item.beverage.brand.title属性中存储一个值。

我是否必须创建Beverage实例并将其分配给item.beverage,然后创建Brand实例并将其分配给item.beverage.brand。

item.beverage = [NSEntityDescription insertNewObjectForEntityForName:@"Beverage" inManagedObjectContext:self.objectContext];

item.beverage.brand = [NSEntityDescription insertNewObjectForEntityForName:@"Brand" inManagedObjectContext:self.objectContext];

之前我最终可以将值分配给title属性吗?

item.beverage.brand.title=@"Sample Title";

是否有更短/更简洁的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

您需要在对象图中创建每个对象。我不知道任何核心数据提供的快捷方式。你当然可以编写自己的方法,类别或宏来减少冗长,如果你发现你自己写了很多样板代码。