Я пытаюсь создать взаимосвязь между таблицей лекарств и таблицей побочных эффектов.RealmObject
- это пользовательский класс, созданный из Object
класса.
Определения модели:
class Medication: RealmObject {
@objc dynamic var name : String?
@objc dynamic var form : String?
@objc dynamic var id : String?
let medToSideEffect = List<SideEffect>()
override class func primaryKey() -> String? {
return "id"
}
}
class SideEffect: RealmObject {
@objc dynamic var masterSideEffectId : String = ""
@objc dynamic var entityType : String = ""
@objc dynamic var entityId : String = ""
@objc dynamic var sideEffect : String = ""
@objc dynamic var id : String = ""
@objc dynamic var uniqueId : String = ""
override class func primaryKey() -> String? {
return "uniqueId"
}
}
Тестовый код:
let medicationItem = Medication(dict: medication)
let sideEffectItems = List<SideEffect>()
for sideEffect in sideEffectList {
let sideEffectItem = SideEffect()
sideEffectItem.id = self.getMongoId()
sideEffectItem.entityType = "Medicine"
sideEffectItem.entityId = medicationItem.id!
sideEffectItem.sideEffect = (sideEffect as? String)!
sideEffectItem.uniqueId = "\(medicationItem.id!)_\(((sideEffect as? NSString)?.replacingOccurrences(of: " ", with: "_"))!)"
sideEffectItems.append(sideEffectItem)
medicationItem.medToSideEffect.append(sideEffectItem)
}
После этого процесса, когда явыведите medicationItem
, Вывод такой:
Medication {
name = Paracetomol 650mg;
form = tab;
id = 5af96e79efb27f6bd5c25a66;
}
Предполагалось, что побочные эффекты будут добавлены к объекту лекарства.но это уже не так.До последнего обновления Realm 3.11.0 работало нормально.
Пожалуйста, дайте мне знать, если код неправильный.