首页 文章

将对象保存在Core Data中

提问于
浏览
0

假设我的课程看起来像这样:

class A { 
   var property1:Int
   var property2:String

   init(property1: Int, property2: String) {
      self.property1 = property1
      self.property2 = property2   
   }
}

(......)

let a = A(property1: 10, property2: "Smth")

是在 CoreData 中保存该对象的方法吗?我是否必须使用此名称通过NSManageObject Subclass创建新类,然后从头开始执行所有操作?或者有一种方法来转换类以匹配它而不需要更改?顺便说一句 . 通过最新更新中的这个生成器是一个错误,说这些类是模棱两可的:o

提前致谢!!

1 回答

  • 1

    您确实需要 NSManagedObject 或子类,但不能有两个具有相同名称的类 . 使用Core Data,您通常在Core Data模型编辑器中定义实体类型,然后创建一个子类来匹配该实体(Xcode通常会自动创建子类) .

    拥有镜像Core Data对象的第二个非托管类是非常罕见的 . 您可以单独使用 NSManagedObject 子类 . 您仍然可以拥有 property1property2 ,但您的初始化程序必须更改 . 对于托管对象,您必须在初始化时具有托管对象上下文,这通常意味着将一个作为初始化程序的参数 .

    您可能会发现值得一看Apple的Core Data Programming Guide .

相关问题