在我们的项目中,我们有一个名为Attendee
的类,该类继承自PFObject
。我们运行一个PFQuery
来获取要存储到全局Attendee
数组中的PFObjects列表。以下是数组和查询的代码:var attendees: [Attendee] = []
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in
if( error == nil ) {
attendees = objects as! [Attendee]
} else {
println( error )
}
}
但是,但是当我在调试器中检查与会者数组的内容时,它始终为空。使用调试器,我检查了
findObjectsInBackgroundWithBlock
返回的object数组,并且正在获取对象。我还在下面附加了
Attendee
类定义。class Attendee: PFObject, PFSubclassing {
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
class func parseClassName() -> String {
return "Attendee"
}
}
为什么打字和复制到与会者无法正常工作?我们正在开发Swift 1.2和Xcode 6.3
最佳答案
您必须在AppDelegate中注册您的自定义对象:Attendee.registerSubclass()
在解析初始化之前Parse.setApplicationId("xxx", clientKey: "XXX")
如果没有,则必须使用与会者的类名来初始化PFQuery:
let query = PFQuery(className: Attendee.parseClassName())
query.fromLocalDatastore() //if data is locally stored
query.findObjectsInBackgroundWithBlock { .. }
这些步骤对我有用。