作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个具有一对多关系的不同类:
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)
谢谢!
最佳答案
一对多关系是单向的。要自动查找与汽车关联的所有 FuelRecords 并因此使关系成为双向关系,您应该使用反向关系。这可以通过 LinkingObjects 实现。
将您的 Car 类中的 FuelRecords 声明更改为以下内容:
let FuelRecords = LinkingObjects(fromType: FuelRecord.self, property: "CarObject")
可悲的是,Realm 浏览器仍然不会向您显示反向关系(至少对我来说是这样),但您将能够从代码中查询与汽车关联的所有 FuelRecords。
关于ios - Realm 一对多关系仅在 Swift 3 for iOS 中单方面工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629667/
我是一名优秀的程序员,十分优秀!