我正在使用ObjectMapper和RealmSwift,我的类看起来像:
class Location: Object, Mappable {
var Lat : Float = 0
var Lng : Float = 0
required convenience init?(_ map: Map) {
self.init()
}
func mapping(map: Map) {
Lat <- map["Lat"];
Lng <- map["Lng"];
}
}
此Location类在另一个类Vehicle.swift中引用,该类也是Realm Object的子类
我可以使用以下行访问车辆的位置:
let location : Location = vehicle.VehicleLocation!
打印位置值可以得到输出:
location is Location {
Lat = 49.24122;
Lng = -123.1153;
}
我使用Realm浏览器打开了realm数据库,其值与数据库中的值相对应。
但是,当我尝试访问Lat
和Lng
值时,我收到了0.0
。我试图使用以下方法访问这些:
let lat : Float = vehicle.VehicleLocation!.Lat
let lng : Float = vehicle.VehicleLocation!.Lng
知道可能会发生什么吗?
答案 0 :(得分:2)
所有存储的Realm属性必须定义为dynamic
。
变化:
var Lat : Float = 0
var Lng : Float = 0
要:
dynamic var Lat : Float = 0
dynamic var Lng : Float = 0