作为成员的领域对象保存后为零

我遇到了一个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中。