无法使用getDataInBackgroundWithBlock

时间:2016-11-01 18:15:28

标签: swift parse-platform uiimage

我有一个updateCell函数,我在tableView函数中调用它。

我尝试更新单元格并将PFFile转换为UIImage,但我一直收到错误Cannot convert value of type '(NSData?, NSError?) -> Void' to expected argument type 'PFDataResultBlock?'

当我从Parse文档中得到这个时感到困惑,我无法找到解决方案的生命或我出错的地方。这是我的updateUI函数。

func updateUI(venue: Venue) {
        venueLabel.text = venue.name
        let venueImageFile = venue.image

        venueImageFile.getDataInBackgroundWithBlock {
            (imageData: NSData?, error: NSError?) -> Void in
            if error == nil {
                if let imageData = imageData {
                    let image = UIImage(data:imageData)
                }
            }
        }
    }

这是Venue类

class Venue {

    private var _name: String!
    private var _location: String!
    private var _image: PFFile!

    var name: String {
        return _name
    }

    var location: String {
        return _location
    }

    var image: PFFile {
        return _image
    }

    init(name: String, location: String, image: PFFile) {
        self._name = name
        self._location = location
        self._image = image
    }
}

任何帮助非常感谢。现在我不知道该往哪里转。

1 个答案:

答案 0 :(得分:0)

基本上我找不到使用getDataInBackgroundWithBlock的解决方案所以我最终安装了Parse UI,这完全解释了它...

  

<强> PFImageView

     

许多应用需要将存储在Parse Cloud中的图像显示为PFFiles。   但是,使用内置的UIImageView加载远程图像涉及到   写了很多样板代码。 PFImageView简化了这一点   任务通过抽象掉这些部分。

一旦我将其导入我的swift文件,我所要做的就是:

@IBOutlet weak var venueImage: PFImageView! // Make sure it's this class in the storyboard. It's default would be UIImageView.

func updateUI(venue: Venue) {
    venueLabel.text = venue.name

    venueImage.file = venue.image
    venueImage.loadInBackground()
}

:)