繁体   English   中英

使用Swift从Parse加载图像

[英]Loading images from Parse using Swift

我编写了用于从Parse数据控制台检索图像的代码,以便它们出现在我的Swift应用程序的Storyboard中,但我不知道如何让IBOutlet连接到我添加到我的Storyboard的UIImageView,以便来自Parse的图像实际上会出现在它的位置。 这是我在ViewController中到目前为止的代码:

var imageResources : Array<UIImage> = []

override func viewDidLoad() {
    super.viewDidLoad()


func loadImages(){

    var query2 = PFQuery(className: "VoteCount")
    query.findObjectsInBackgroundWithBlock ({(objects:[AnyObject]!, error: NSError!) in
        if(error == nil){
            let imageObjects = objects as [PFObject]
            for object in objects {
                let thumbNail = voteCount1["image"] as PFFile
                thumbNail.getDataInBackgroundWithBlock({
                    (imageData: NSData!, error: NSError!) -> Void in
                    if (error == nil) {
                        let image = UIImage(data:imageData)
                        self.imageResources.append(image!)
                        println(image)
                    }
                })
            }
        }
        else{
            println("Error in retrieving \(error)")
        }
        })
    }

}

我将哪种IBOutlet连接到我添加到Main.storyboard的UIImageView? 我只是不确定如何命名它将从Parse调用我想要检索的图像。

控制 - 从UIImageView拖动到Swift文件,在方法之外但在实现中。 将其命名为myImageView。

您无法在图像上调用println。

然后在行if (error == nil) {尝试以下

if let image = UIImage(data:imageData) {
    dispatch_async(dispatch_get_main_queue()) {
         self.myImageView.image = image
    }
}

或者那种效果。 你需要确定:

  1. 图像存在
  2. 你在主线程上用UI更新做什么(这就是dispatch_async(dispatch_get_main_queue()) {}完成的事情

尝试一下,让我知道这是否有帮助。 我现在正在路上,但是当我有机会坐下来时,我会回过头来检查一下。

最后一招:您可以在获得图像的行上放置断点。 然后,当应用程序暂停时, if let image = UIImage(data:imageData) {并单击弹出窗口中的眼睛图标,则可以将鼠标悬停在该行中的单词image上。 然后,您应该能够从Parse查看图像。 如果单击眼睛图标时没有出现图像,则可能需要进行其他调试(图像是否存在,您的逻辑是否正确,等等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM