在 class 中访问 class 的数据

Access data of class in class

我有这个类:

class FacebookDB: Object {
    dynamic var userName: String = ""
    dynamic var profilePicture: String = ""
}

class TwitterDB: Object {
    dynamic var userName: String = ""
    dynamic var profilePicture: String = ""
}

class UserDB: Object {
    dynamic var id = 0

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

    dynamic var userName: String = ""
    dynamic var firstName: String = ""
    dynamic var lastName: String = ""
    dynamic var email: String = ""
    dynamic var facebookAccount = FacebookDB?()
    dynamic var twitterAccount = TwitterDB?()
}

我在 userName

中输入一个值后
//user value come from facebook
let testUser = UserDB()
let realm = try! Realm()

testUser.FacebookAccount?.userName = user.userName

print(user.userName)
print(testUser.FacebookAccount?.userName)

这是输出:

vivieng
nil

为什么我不能打印 testUser.FacebookAccount?.userName

顺便说一句,我可以访问 UserDB 中的每个值,但 FacebookDB 的 none 或 TwitterDB,知道吗?

我终于找到了处理这个问题的方法。

我需要创建一个这样的值:

let facebookAccount = FacebookDB()

然后把我想要的都放进去:

facebookAccount.userName = user.userName

最后复制class里面的class:

testUser.FacebookAccount = facebookAccount

瞧,现在可以了!