我正在创建一个解析应用程序,其中用户可以在注册时选择个人资料图片。这是代码。
var profilePictures = PFObject(className: "ProfilePictures")
let imageData = UIImagePNGRepresentation(self.profileImage.image)
let imageFile = PFFile(name:"image.png", data:imageData)
profilePictures["profilePhoto"] = imageFile
profilePictures["user"] = usernameField.text
profilePictures.save()
后来我有一个屏幕,其中 UIImageView 需要填充所选的个人资料图片。
这一直有效,直到应用程序本身完全停止并重新启动。
然后发现 PFFile 为 nil,我收到错误“在展开可选值时意外发现 nil”。
这是显示图片的代码。
override func viewDidAppear(animated: Bool) {
var query = PFQuery(className: "ProfilePictures")
query.whereKey("user", equalTo: PFUser.currentUser()?.username)
query.findObjectsInBackgroundWithBlock({
(success, error) -> Void in
let userImageFile = profilePictures["profilePhoto"] as! PFFile
//error is on the above line
userImageFile.getDataInBackgroundWithBlock({
(imageData: NSData?, error) -> Void in
var image = UIImage(data: imageData!)
self.profileImage.image = image
})
})
}