我有一个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
}
}
任何帮助非常感谢。现在我不知道该往哪里转。
答案 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()
}
:)