在Xcode Core Data中添加多个对象一对多

时间:2012-12-05 20:16:54

标签: xcode core-data one-to-many

核心数据中有两个元素:

  • 新闻(主题,消息,日期等项目)
  • 图片(包含一个项目:指向图片网址的链接)

每个新闻项目可以有多个图片(即一对多的关系)。

在Xcode中,元素设置正确。

使用XML我导入新闻数据。在每个新闻项目上我都有两个数组:

  • newsArray
  • ImageArray

newsArray加载了News元素的所有信息。 imageArray加载了属于该新闻元素的图像的URL。

我已经整理出如何将newsArray的信息放入Core Data中,但我的问题如下:

如何将imageArray的对象输入并保存到核心数据图片元素中,并与我刚刚添加的新闻项目保持关系?

我有一些代码,我现在用它来保存新闻元素,但它有点过载XML加载等等。

1 个答案:

答案 0 :(得分:0)

您遍历imageArray并逐个将图像作为关系添加到新闻项目中。在生成NSManagedObject子类时,Xcode应该自动为您创建这些setter和accessor方法:

for (NSDictionary *d in imageArray) {
  Image *i = [NSEntityDescription insertNewObjectForEntityForName:@"Image"
      inManagedObjectContext:_managedObjectContext];
  i.url = d[@"imageURL"];
  [newsItem addImagesObject:i];  // Xcode generated method
}
// save