假设我的课程看起来像这样:
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
提前致谢!!
答案 0 :(得分:1)
您确实需要NSManagedObject
或子类,但不能有两个具有相同名称的类。使用Core Data,您通常在Core Data模型编辑器中定义实体类型,然后创建一个子类来匹配该实体(Xcode通常会自动创建子类)。
有一个镜像Core Data对象的第二个非托管类是非常罕见的。您可以单独使用NSManagedObject
子类。您仍然可以拥有property1
和property2
,但您的初始化程序必须更改。对于托管对象,您必须在初始化时具有托管对象上下文,这通常意味着将一个作为初始化程序的参数。
您可能会觉得值得一看Apple的Core Data Programming Guide。