【发布时间】:2017-04-26 09:05:33
【问题描述】:
我有两个具有一对多关系的不同类:
class Car: Object {
dynamic var Id = NSUUID().uuidString
dynamic var Name : String = ""
dynamic var FuelCapacity : Int = 0
let FuelRecords = List<FuelRecord>()
override class func primaryKey() -> String? {
return "Id"
}
}
class FuelRecord: Object {
dynamic var Odometer : Float = 0.0
dynamic var LiterPrice : Float = 0.0
dynamic var Date = NSDate()
dynamic var CarObject : Car?
}
保存 FuelRecord 对象时,Fuelrecord 正在链接到 Car,但是 CarObject 没有链接到 FuelRecord。
如您所见,汽车与 0 FuelRecords 相关联
Click here to view Cars Table in Realm Browser
但 FuelRecord 包含 Car 引用
Click here to view FuelRecords Table in Realm Browser
由于这个问题,我无法获取特定汽车的燃油记录。
这就是我将 FuelRecord 保存到数据库的方式。
fuelRecord.LiterPrice = Float(txtLiterPrice.text!)!
fuelRecord.Odometer = Float(txtOdometer.text!)!
fuelRecord.Total = Float(txtTotal.text!)!
fuelRecord.Volume = Float(txtVolume.text!)!
fuelRecord.IsPartial = switchPartial.isOn
let realm = try! Realm()
try! realm.write{
realm.add(fuelRecord)
谢谢!
【问题讨论】:
-
你能发布你如何保存fuelRecord对象吗?在此函数中,您还应该将 FuelRecord 保存在 CarObject 列表中
-
fuelRecord.LiterPrice = Float(txtLiterPrice.text!)! fuelRecord.Odometer = Float(txtOdometer.text!)! fuelRecord.Total = Float(txtTotal.text!)! fuelRecord.Volume = Float(txtVolume.text!)! fuelRecord.IsPartial = switchPartial.isOn let realm = try! Realm() try! realm.write{ realm.add(fuelRecord) -
因为我认为您没有将 FuelRecord 保存在 Car 对象中,所以您需要创建一个函数,在每次创建 FuelRecord 后将 FuelRecord 添加到 CarObject 中。这不是由 Realm 自己完成的。您需要实现此行为。
-
你能用代码指导我吗?我的意思是你能帮我写下这段代码吗?
标签: ios swift xcode swift3 realm