query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
if error == nil {
if let objects = objects as? [PFObject] {
for object in objects {
print("woot")
}
}
} else {
// Log details of the failure
print("Error: \(error) \(error!.userInfo)")
}
dispatch_async(dispatch_get_main_queue()){
//reload the table view
query.cachePolicy = PFCachePolicy.NetworkElseCache
}
}
由于某种原因,行:
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
给我错误:
无法转换类型'([AnyObject] ?, NSError?) - >的值void到预期的参数类型' PFQueryArrayResultBlock?'
我不知道如何修复错误。
谢谢!
答案 0 :(得分:0)
结果块应如下所示:
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
if let objects = objects as? [PFObject] {
for object in objects {
print("woot")
}
}
} else {
// Log details of the failure
print("Error: \(error) \(error!.userInfo)")
}
dispatch_async(dispatch_get_main_queue()){
//reload the table view
query.cachePolicy = PFCachePolicy.NetworkElseCache
}
}
请参阅Parse docs查询。
答案 1 :(得分:0)
在第一行中将'AnyObject'更改为'PFObject'。 Parse v1.9.0改变了PFObject获取函数以与iOS 9 / Swift 2(https://parse.com/docs/downloads)兼容。
然后你不必将'扮演'?第4行[PFObject]。
答案 2 :(得分:0)
Parse不再使用AnyObject for Swift 2.0。所以对于你的代码更改:
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
到
query.findObjectsInBackgroundWithBlock { (objects:[PFObject]?, error:NSError?) -> Void in
由于您不再需要将对象转换为PFObject,因此可以将其缩短为:
if error == nil {
for object in objects! {
print("woot")
}
} else {...
希望这有帮助!