2

我正在使用 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 的值给我输出:

location is  Location {
    Lat = 49.24122;
    Lng = -123.1153;
}

我使用 Realm 浏览器打开了领域数据库,其值与数据库中的值相对应。

但是,当我尝试访问LatandLng值时,我得到0.0. 我正在尝试使用以下方式访问这些:

let lat : Float = vehicle.VehicleLocation!.Lat
let lng : Float = vehicle.VehicleLocation!.Lng 

知道会发生什么吗?

4

1 回答 1

2

所有存储的 Realm 属性必须定义为dynamic.

改变:

var Lat : Float = 0
var Lng : Float = 0

至:

dynamic var Lat : Float = 0
dynamic var Lng : Float = 0
于 2016-03-17T08:39:35.797 回答