作为成员的领域对象保存后为零
我遇到了一个Realm对象有另一个Realm对象作为成员的问题,在添加到数据库之后总是nil
。
class MedPack: Object { dynamic var uuid = NSUUID().UUIDString dynamic var medicine: Medicine? convenience init(medicine: Medicine) { self.init() self.medicine = medicine } override static func primaryKey() -> String? { return "uuid" } }
对象的参考Medicine
总是零后添加。
class Medicine: Object { var uuid = NSUUID().UUIDString var name: String? override static func primaryKey() -> String? { return "uuid" } }
对象的创build
let medPack = MedPack(medicine: med)
添加到数据库
static let sharedInstance = DBHelper() var realmDb: Realm! private init() { realmDb = try! Realm() } func store(object: Object) { try! self.realmDb.write { self.realmDb.add(object) } }
在将这个代码与Realm示例项目之一进行比较之后,似乎将Object
简单地设置为另一个的子项并不会将其隐式写入数据库。
相反,您可能需要稍微重构代码,但在将其关系设置为MedPack
并将MedPack
写入数据库之前,请确保在写入事务MedPack
对象显式添加到Realm中。