2

私は RealmSwift と一緒に ObjectMapper を使用しています。私のクラスは次のようになります。

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 クラスは、Realm Object のサブクラスでもある別のクラス Vehicle.swift で参照されます。

次の行を使用して、車両の位置にアクセスできます。

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 

何が起こっているのでしょうか?

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 に答える