【问题标题】:Loading images from Parse using Swift使用 Swift 从 Parse 加载图像
【发布时间】:2015-02-27 03:17:32
【问题描述】:

我已经编写了用于从 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 中调用我要检索的图像的名称。

【问题讨论】:

    标签: ios xcode swift parse-platform pfquery


    【解决方案1】:

    从你的 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 查看图像。如果单击眼睛图标时图像没有出现,您可能需要进行额外的调试(图像是否存在,您的逻辑是否正确,等等)。

    【讨论】:

    • 感谢您的帮助。我得到的唯一错误是 self.myImageView.setImage(image) 行,上面写着“'UIImageView'没有名为'setImage'的成员”。你认为这是为什么?
    • 抱歉,试试这个:self.myImageView.image = image
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多