在Realm中向现有模型添加新关系

时间:2018-03-05 18:32:11

标签: ios swift realm

我正在使用Realm开发iOS应用程序,并且有一个对象MedicationObject,其中包含有关正在使用的Medication的信息。然后,它有一对多的关系类MedicationRecording,用于在服药时间内存储信息。

    import Foundation
    import RealmSwift
    class MedicationObject : Object {
    //This model requires a Primary Key
    @objc dynamic var id = 0

    override static func primaryKey() -> String? {
        return "id"
    }
    @objc dynamic var medicationName : String = ""

    //stores the refrences to medication recoridngs

    var messurements = List<MedicationRecording>()

    public func addNewMesurment() {
        print(self)
        let medicationRecording = MedicationRecording()
        medicationRecording.medicationTaken = self
        medicationRecording.timeTaken = Date()// this saves the time to now
        medicationRecording.medicationTaken = self

        RealmAccess().updateMedicationObject(medicationObject: self, medicationRecord: medicationRecording) //this should work
    }
    }

这是我的MedicationRecording:

import Foundation
import RealmSwift
class MedicationRecording : Object {
    @objc  dynamic var medicationTaken : MedicationObject? = MedicationObject()
    @objc  dynamic var timeTaken : Date = Date()
    @objc dynamic var id = 0

    override static func primaryKey() -> String? {
        return "id"
    }

}

这就是我打算将数据保存到

的方法
        func updateMedicationObject(medicationObject : MedicationObject, medicationRecord : MedicationRecording) {
        let realm = try! getRealmAccess()
        let mediObject = MedicationObject()
        mediObject.medicationName = medicationObject.medicationName
        do {
            try! realm.write {
                realm.add(medicationRecord, update: true)
                medicationObject.messurements.append(medicationRecord)

        }
        }
    }

在我保存数据的那一刻,它正在丢失MedicationObject中的所有信息,只保存最后的数据。 非常感谢任何帮助 谢谢

0 个答案:

没有答案
相关问题