使用构造函数初始化实例变量子类PFObject

时间:2015-03-29 05:38:49

标签: ios swift parse-platform subclassing pfobject

我正在Swift中实现一个名为Event的PFObject的子类。我遵循了Parse的文档中的子类化指南,但我不知道如何以及在何处编写将数据添加到ivars的代码。以下是我到目前为止在课堂上的内容,包括ivars。

@NSManaged var name:String
@NSManaged var time:NSDate
@NSManaged var favorite:Bool
@NSManaged var moderator: String
@NSManaged var speakers: [String] 

@NSManaged var slides: PFFile?

@NSManaged var files: [PFFile]?

override class func initialize() {
    var onceToken : dispatch_once_t = 0;
    dispatch_once(&onceToken) {
        self.registerSubclass()
    }        
}

class func parseClassName() -> String! {
    return "Event"
}

通常,我会实现一个init()构造函数或类似的东西。但是,我意识到当从服务器获取数据时,数据已经包含在PFObject的字典中。我将把代码复制到哪里并将这些数据放在PFObject字典的实例变量中?这假设我将通过查询从服务器实例化对象,而不是在本地使用object()方法。

2 个答案:

答案 0 :(得分:1)

根据上面deadbeef的评论,我意识到我可以使用Swift的getter和setter来计算属性来读取和写入PFObject数据字典中的值。 例如,我打算以只读方式拥有的属性:

var name:String
{
    return self["name"] as String
}

我打算用读写的属性

var favorite:Bool 
{
    get {
        return self["favorite"] as Bool
    }
    set(value) {
        self["favorite"] = value
    }
}

答案 1 :(得分:0)

您无需手动复制。 这是Parse框架工作。获取后,对象将填充数据。