【问题标题】:Accessing primitive types in RealmSwift在 RealmSwift 中访问原始类型
【发布时间】:2016-03-17 08:38:07
【问题描述】:

我正在使用 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 浏览器打开了领域数据库,其值与数据库中的值相对应。

但是,当我尝试访问 Lat 和 Lng 值时,我得到了 0.0。我正在尝试使用以下方式访问这些:

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

知道会发生什么吗?

【问题讨论】:

    标签: swift objectmapper realm


    【解决方案1】:

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

    变化:

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

    收件人:

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

    【讨论】:

      猜你喜欢
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多