我正在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()方法。
答案 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框架工作。获取后,对象将填充数据。