接收Swift错误:无法转换类型'([PFObject]?,NSError)的值?虚空'预期参数类型' PFArrayResultBlock?'

时间:2015-11-12 22:39:56

标签: swift parse-platform

我是swift和Xcode的新手,所以如果这是一个问题很少的问题我会道歉。我和朋友一起做项目,当我克隆项目时,一些解析框架没有被拉到我的机器上,我现在相信我知道为什么。然后他把这些框架发给我了。现在,当我重新启动项目时,我得到7个错误,这些错误都与我认为是由解析引起的问题有关。我得到的所有7个错误的错误是:

([PFObject]?, NSError)? Void' to expected argument type 'PFArrayResultBlock?

在此代码中引用第4行

@IBAction func deleteSubjectButton(sender: AnyObject) {
    let query = PFQuery(className: "newKnowledge")
    query.whereKey("subject", equalTo: (incomingHeader))
    query.findObjectsInBackgroundWithBlock({ (objects : [PFObject]?, error: NSError?) -> Void in
        if error == nil {

            for object in objects! {

                object.deleteInBackground()
            }
        }
    })

}

我非常感谢帮助解决此错误。他不知道为什么会这样,而且他的机器上并没有发生这种情况。

2 个答案:

答案 0 :(得分:2)

我和Xcode 7.1.1也发生了这种情况。我猜它只是一台机器上的最新版本。

解决方案是将行更改为:

  

query.findObjectsInBackgroundWithBlock {(objects:[AnyObject] ?, error:NSError?) - >无效

注意我将PFObject更改为AnyObject。

答案 1 :(得分:2)

更新swift3:

let query = PFQuery(className: "newKnowledge")
    query.findObjectsInBackground(block: { (objects : [PFObject]?, error: Error?) -> Void in
        if error == nil {

            for object in objects! {

                object.deleteInBackground()
            }
        }
    })