【发布时间】:2020-07-23 06:54:44
【问题描述】:
目前,我有两个自定义模型类。我之前在他们之间建立了一对一的关系。但是现在由于新的需求变化,我需要将关系转换为一对多。
例如,这就是我之前构建模型类的方式
class Location: Object {
@objc dynamic private var id: String = NSUUID().uuidString
@objc dynamic var typeString: String =
}
class Job :Object {
@objc dynamic var id: String = NSUUID().uuidString
let location: Location?
}
新结构
class Job :Object {
@objc dynamic var id: String = NSUUID().uuidString
let locations = RealmSwift.List<Location>()
}
所以基本上我想在 Job 类中保存多个位置对象。这种新结构对我来说很好用。但现在我想将旧数据迁移到这个新设置中。我尝试使用以下代码实现此目的,但没有成功。
migration.deleteData(forType: Location.className)
migration.enumerate(ofType:Job.className) { oldObject, newObject in
let location = migration.create(Location, value: oldObject!["location"]!)
(newObject!["locations"] as! List<MigrationObject>).append(location)
}
【问题讨论】: