如何正确组合.plist数据和CoreData?

时间:2017-02-04 13:18:22

标签: ios core-data plist

假设我有这个类层次结构:

protocol Location {}
class Planet: Location {
}

// That's a spot on some planet
class Site: Location {
   var planet: Planet
}

这就是我想要实现的。 我想通过.plist文件添加行星(这是我认为最适合的)。

这些是宇宙中存在的预先添加的行星。但是,每个星球都有用户创建的位置。因此,我需要使用CoreData保存这些。

我不知道该怎么做。如何在.plist模型/对象旁边“使用CoreData”“硬编码”这个类层次结构?

例如:如何在CoreData中创建网站entity?我不能只添加类型planet的属性Planet,据我所知,这在CoreData中是不可能的。

这是什么一般方法?我希望你理解我的问题,这很难描述,因为这对我来说是新的。

2 个答案:

答案 0 :(得分:0)

在Core Data中创建

  • 实体Planet
  • 实体Site
  • PlanetSite
  • 的一对多关系

答案 1 :(得分:0)

请按照以下步骤操作:

  1. 从您的捆绑包中获取plist地址
  2. 将plist内容读入数组
  3. 遍历数组,根据需要插入新的核心数据对象,填充plist中定义的属性
  4. 保存上下文
  5. 如果对你来说这看起来很神秘,你需要深入研究,也许是通过一些教程。这个平台上的每个子问题都有很多答案。