子类化PFUser不会影响存储的数据

时间:2016-01-16 04:06:10

标签: ios swift parse-platform

我正在使用Swift。

这个问题谈到了Parse服务。

我已经阅读了使用`application.DisplayAlert = false` @NSManaged关键字的方法,所以我决定让我的例子同时实现它们。这里的问题是,在我的数据管理器的dynamic对象中,我注意到数据库中没有存储其他信息。对于我的应用程序,我想在User表中存储一些其他信息,例如它们的名字和姓氏。这是一个例子:

User

这是我用来初始化和发送数据的代码:

import Parse

public class User : PFUser {

    @NSManaged public var firstName: String!
    dynamic public var lastName: String!

    override public class func initialize() {
        struct Static {
            static var onceToken : dispatch_once_t = 0
        }

        dispatch_once(&Static.onceToken) {
            self.registerSubclass()
        }
    }

    init(email: String, password: String) {
        super.init();
        self.username = email;
        self.email = email;
        self.password = password;
        self.firstName = "MyFirstName";
        self.lastName = "MyLastName";
    }

}

编辑:在仪表板中进行游戏时,似乎会自动删除添加到用户表/文档/在无架构数据库中调用它的字段。这表明我需要创建另一个类(IE:UserInfo)来存储所有用户信息,例如名字和姓氏。它是否正确?如果这样看起来有点奇怪,因为它会增加登录到应用程序的请求数量。 (一个用于验证,一个用于检索信息)。这是处理这个问题的正确方法吗?

1 个答案:

答案 0 :(得分:1)

向子类添加属性不会自动添加到PFUser实例。您必须使用PFObject方法设置属性,然后保存PFUser对象。

Parse Documentation给出了在调用注册之前在phone实例上设置额外PFUser属性的示例。这是您将firstNamelastName属性添加到PFUser的方法。