我目前正在Swift中编写iPhone应用程序。我有一个我的用户数据库的全局类实例,如下所示:
var currentUser = UserDB()
class UserDB: Object {
dynamic var id:String = "0"
override class func primaryKey() -> String {
return "id"
}
var userName: String?
var firstName: String?
var lastName: String?
}
然后我尝试在另一个类中打印我的用户信息:
UserDB {
id = 56826e22971f34731a07ba09;
userName = aze;
firstName = (null);
lastName = (null);
}
但如果我尝试打印单个值,它就不会起作用:
print(currentUser.userName)
将打印:
nil
你知道为什么吗?
顺便说一下,处理这样的用户信息是个好主意吗?我在退出时,转到后台或帐户升级后将这些信息放在Realm数据库中。
答案 0 :(得分:4)
如果您希望dynamic
映射属性,则需要将属性声明为Realm
。您似乎只为id
属性执行此操作。
dynamic var userName: String?
dynamic var firstName: String?
dynamic var lastName: String?