类型转换RLMObject会抛弃数据

时间:2015-04-03 10:47:49

标签: ios swift realm

我有将RLMObject子类保存到realm数据库的代码。此代码有效,我使用领域浏览器验证它是否按预期保存。

然后我想在realm数据库中查询我保存的这个对象,并且我想将它转换为保存之前的RLMObject子类。

以下是代码:

let queryResults = RealmSubclass.allObjects()

for result in queryResults {
    if result is RealmSubclass {
        let temp = result as RealmSubclass
        println(temp.name)
        println(temp.dateOfBirth)
        println(temp.gender)
    }
}

当我使用print对象检查调试控制台中的值时,我会看到我期望的值。但是,当我对RealmSubclass执行类型转换时,生成的对象没有正确的值,只有nil值。

为什么会这样?我读过documentation,但没有用。

修改: 这是RLMObject子类:

public class RealmSubclass: RLMObject {
    public dynamic var id: String = NSUUID().UUIDString
    public dynamic var name: String = ""
    public dynamic var dateOfBirth: NSDate = NSDate()
    public dynamic var gender: NSString = Consts.Gender.Male

    override public class func primaryKey() -> String {
        return "id"
    }
}

1 个答案:

答案 0 :(得分:1)

好吧,似乎实际上正在返回这些值。发生了什么是Swift调试尚未达到标准。调试区域显示的信息不正确。