下面是我的函数,其中突出显示了可以工作的代码(即异步),但我想要的是与PFQuery.countObjects(error: NSErrorPointer)
一起工作的同步代码。语法使用来自解析的countObjects(同步)的问题
//Count how many violations User has.
func checkViolationStatus(usr: PFUser) -> Int32 {
var violations: Int32 = 0
var query = PFQuery(className: PF_BLOCKEDUSERS_CLASS_NAME)
query.includeKey(PF_BLOCKEDUSERS_USER)
query.whereKey(PF_BLOCKEDUSERS_USER, equalTo: usr)
//THIS WORKS BUT IS ASYNCHRONOUS AND I WANT IT TO BE SYNCHRONOUS
// query.countObjectsInBackgroundWithBlock {
// (count: Int32, error: NSError?) -> Void in
// if error == nil {
// print("Sean has played \(count) games")
// violations = count
// }
// }
//WANT TO MAKE IT SYNCHRONOUS -- THIS DOES NOT WORK
violations = query.countObjects(<#T##error: NSErrorPointer##NSErrorPointer#>)
return violations
}
如何正确使用query.countObjects(...)
?
你想让它同步的设计理由是什么?如果有很多对象,并且它连接主线程,那么它显然会导致性能不佳。 – pbush25
这是一个屏幕,这是要显示的关键信息。我猜想我能得到的其中一个错误是超时。另外一般来说,我在如何从Parse进行同步读取时遇到问题,所以想更好地理解正确的语法。 – user1406716
@ user1406716您收到的错误是什么? – Daniel