假设我有这样的类(class):
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 子类创建具有此名称的新类,然后从头开始做所有事情?或者有一种方法可以在不进行更改的情况下转换类以匹配它吗?顺便提一句。在最新的更新中通过这个生成器是一个错误,它说那些类是不明确的:o
提前致谢!
最佳答案
您确实需要有一个 NSManagedObject
或一个子类,但您不能有两个同名的类。使用 Core Data,您通常会在 Core Data 模型编辑器中定义一个实体类型,然后创建一个子类来匹配该实体(如今 Xcode 通常会自动创建子类)。
有第二个非托管类来镜像 Core Data 对象是非常不寻常的。您可以单独使用 NSManagedObject
子类。您仍然可以拥有 property1
和 property2
,但您的初始化程序必须更改。对于托管对象,您必须在初始化时有一个托管对象上下文,这通常意味着包括一个作为初始化程序的参数。
您可能会发现值得看一看 Apple 的 Core Data Programming Guide .
关于ios - 在核心数据中保存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42205051/