在我们的项目中,我们有一个名为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 { .. }


这些步骤对我有用。

10-08 11:39