我正在为应用中的用户创建自定义配置文件。我将个人资料图片存储为PFFile,密钥"profilePicture"
位于我的User
数据表中。我希望屏幕上的UIImageView成为我创建的表中的用户配置文件图像。
这是我的代码。我想我可以在viewDidLoad
函数中执行此操作。
@IBOutlet var profPic: UIImageView! = UIImageView()
override func viewDidLoad() {
super.viewDidLoad()
var query = PFQuery(className:"User")
query.includeKey("profilePicture")
query.findObjectsInBackgroundWithBlock
{
(objects:[AnyObject]! , error:NSError!) -> Void in
if error == nil
{
self.profPic = PFUser.currentUser().objectForKey("profilePicture") as UIImageView
}
}
}
任何想法如何做到这一点?当我点击那个视图,你需要xcode并向你显示线程/堆栈错误时,我得到常见的xcode错误。我问的问题似乎相当简单,我觉得我在查询时遇到了问题。
------------ Edit1 ----------
这是我通过进一步玩它得出的结果仍然相同。
var profile:PFQuery = PFQuery(className:"Users")
profile.findObjectsInBackgroundWithBlock
{
(objects:[AnyObject]! , error:NSError!) -> Void in
if error == nil
{
let profPic = PFUser.currentUser().objectForKey("profilePicture") as UIImageView
}
}
------------ Edit2 ----------
@IBOutlet var profPic: UIImageView!
var query = PFQuery(className:"Users")
query.whereKeyExists("profilePicture")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
let image: UIImage = objects["profilePicture"] as PFFile
self.profPic.image = image
}
else {
println("User has not profile picture")
}
}
错误是PFFile无法转换为UIImage,我应该使用PFImage吗?我无法解决这个问题。谢谢。
以下是一些关于发生什么的屏幕截图。
答案 0 :(得分:1)
感谢@cjwirth,由于某种原因,答案被删除了,为了让我的代码能够正常工作,这就是需要完成的工作。这显示了当前用户个人资料图片,其中我将imageview放置在视图中。
@IBOutlet var profPic: UIImageView! = UIImageView()
override func viewDidLoad() {
super.viewDidLoad()
var query = PFQuery(className:"Users")
query.whereKeyExists("profilePicture")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
if let imageFile = PFUser.currentUser().objectForKey("profilePicture") as? PFFile {
imageFile.getDataInBackgroundWithBlock { (data: NSData!, error: NSError!) -> Void in
self.profPic.image = UIImage(data: data)
}
else {
println("User has not profile picture")
}
}
}