0

我正在努力在 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() 方法。

4

2 回答 2

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
    }
}
于 2015-03-29T20:05:31.317 回答
0

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

于 2015-03-31T20:58:01.330 回答