Realm返回带有空RLMArray的对象作为属性

时间:2015-07-13 15:28:09

标签: ios swift realm

我上课Country。它是RLMObject的一个简单子类。基本上当我保存Country时,它们确实有regions(RLMArray类型的属性,包含几个类型为Region的对象。这是RLMObject的子类)但是当我从Realm中获取它然后{{1没有。

我用浏览器仔细检查领域,那些数据就在那里。也许我使用错误的技术来获取这些数据?

此时我使用realm-objc,因为我必须支持设备

国家(27行)

regions

CountryManager (36行)

public class Country: RLMObject {
   public dynamic var name = ""
   public dynamic var desc = ""
    public dynamic var id = 0
    public var regions = RLMArray(objectClassName: Region.className())
    override public static func primaryKey() -> String? {
        return "id"
    }

    override init!() {
        super.init()
    }

    public func configure(id:Int,json:JSON){
        self.name = json["name"].stringValue
        if let desc = json["desc"].string {
            self.desc = desc
        }
        for (key:String, value:JSON) in json["regions"] {
            let region = Region()
            region.configure(key.toInt()!,json:value)
            self.regions.addObject(region)

        }
        self.id = json["id"].intValue
    }
}

1 个答案:

答案 0 :(得分:1)

尝试将public var regions更改为dynamic public var regions,因为Realm要求RLMArray属性是动态的。