我的解析有问题。我试图为我的用户保存个人资料照片,效果很好。然后我想在图像视图中显示配置文件pic,如果用户查看他自己的配置文件。问题是,当用户之前没有设置配置文件时,它会让我的应用程序崩溃,因为在尝试执行getDataInBackgroundWithBlock函数时没有要查找的数据。我怎么解决这个问题?这是我的代码,应该在profilePicImageView中显示相应的配置文件pic。我之前没有使用else语句尝试过,同样的问题:/
let profileImage = currentUser?.objectForKey("profilePic") as? PFFile
profileImage!.getDataInBackgroundWithBlock({ (imageData:NSData?, error:NSError?) -> Void in
if (error == nil){
let image:UIImage = UIImage(data: imageData!)!
self.profilePicImageView.image = image
}else {
self.profilePicImageView.image = nil
}
})
答案 0 :(得分:0)
ParseUI有一个名为PFImageView的类,它是UIImageView的子类。您可以执行以下操作,而不是使用UIImageView: 1.在Interface Builder中将类设置为PFImageView 2.将PFImageView的出口设置为profilePicImageView 3.将您的代码更改为:
self.profilePicImageView,image = <Any placeholder>
if let profileImage = currentUser?.objectForKey("profilePic") as? PFFile {
self.profilePicImageView.file = profileImage
self.profilePicImageView.loadInBackground()
}