使用Parse无法解决的错误“获取数据在后台带座”(Unresolvable error with

2019-10-22 14:55发布

我不知道这是否是用户错误或由于Xcode和斯威夫特的更新。 我拉着图像文件从解析,并不管我怎么调整的语法我得到的一个持久的错误:

快捷:64:23:无法调用 'getDataInBackgroundWithBlock' 类型的参数列表“(?(NSData的!NSError) - >无效)

我的代码是:

func callData() {

    var imageQuery = PFObject(className: "QuestionMaster")
    let iconImageFile = imageQuery["questionImage"] as! PFFile!
    iconImageFile.getDataInBackgroundWithBlock {
        (imageData: NSData!, error: NSError?) -> Void in

        if (error == nil) {

            self.icon1 = UIImage(data: imageData[0])
            self.icon2 = UIImage(data: imageData[1])
            self.icon3 = UIImage(data: imageData[2])
            self.icon4 = UIImage(data: imageData[3])
            self.icon5 = UIImage(data: imageData[4])
            self.icon6 = UIImage(data: imageData[5])
            self.icon7 = UIImage(data: imageData[6])
            self.icon8 = UIImage(data: imageData[7])
            self.icon9 = UIImage(data: imageData[8])
        }
        else {
            NSLog("Something went wrong.")
        }

我已经直接从解析文档工作。 我也曾尝试:

iconImageFile.getDataInBackgroundWithBlock(imageQuery, block: {
            (imageData: NSData!, error: NSError?) -> Void in

而且我交换!? 无济于事。 同样的事情在我的代码的其他地方发生findObjectInBackgroundWithBlock

Answer 1:

这是由于在迅速1.2的变化。 解析应该已经提供了一个版本的框架修复此。 从他们的网站下载。

编辑

另外,不要忘记解开用的imageData值if let

下面的代码使用SWIFT 1.2为我工作在最新的解析框架版本

imageFile.getDataInBackgroundWithBlock { (imageData: NSData?, error: NSError?) -> Void in

    if let imageData = imageData where error == nil
    {
        self.image = UIImage(data: imageData)
    }
}


文章来源: Unresolvable error with Parse “Get Data In Background With Block”