在 RealmSwift 中访问原始类型
Accessing primitive types in RealmSwift
我将 ObjectMapper 与 RealmSwift 一起使用,我的 class 看起来像:
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"];
}
}
这个位置 class 在另一个 class Vehicle.swift 中被引用,它也是领域对象
的子class
我可以使用以下线路访问车辆的位置:
let location : Location = vehicle.VehicleLocation!
打印 location 的值得到输出:
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
知道会发生什么吗?
所有存储的 Realm 属性必须定义为 dynamic
。
变化:
var Lat : Float = 0
var Lng : Float = 0
收件人:
dynamic var Lat : Float = 0
dynamic var Lng : Float = 0
我将 ObjectMapper 与 RealmSwift 一起使用,我的 class 看起来像:
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"];
}
}
这个位置 class 在另一个 class Vehicle.swift 中被引用,它也是领域对象
的子class我可以使用以下线路访问车辆的位置:
let location : Location = vehicle.VehicleLocation!
打印 location 的值得到输出:
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
知道会发生什么吗?
所有存储的 Realm 属性必须定义为 dynamic
。
变化:
var Lat : Float = 0
var Lng : Float = 0
收件人:
dynamic var Lat : Float = 0
dynamic var Lng : Float = 0