为什么我无法在Swift中访问类实例的元素

时间:2015-12-30 10:58:34

标签: ios swift realm

我目前正在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数据库中。

1 个答案:

答案 0 :(得分:4)

如果您希望dynamic映射属性,则需要将属性声明为Realm。您似乎只为id属性执行此操作。

dynamic var userName: String?
dynamic var firstName: String?
dynamic var lastName: String?