我有将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"
}
}
答案 0 :(得分:1)
好吧,似乎实际上正在返回这些值。发生了什么是Swift调试尚未达到标准。调试区域显示的信息不正确。