我在Parse中有一个主类,该类可以快速提供表格视图。背景图像覆盖了整个背景。这些图像的大小为480k。它们并不总是出现在tableviewcell上(我知道我可以添加一个占位符图像)。我与手机的连接速度非常快。.如果我使用4g,它们甚至根本不会打开。

这是我下拉图像的功能。我真的不知道我还能做什么。

func loadImages() {

    var query = PFQuery(className: "TableViewData")
    query.orderByDescending("objectId")


    query.findObjectsInBackgroundWithBlock ({(objects:[AnyObject]!, error: NSError!) in
        if(error == nil){

            let imageObjects = objects as [PFObject]

            for object in objects {

                let thumbNail = object["backgroundImage"] as PFFile

                thumbNail.getDataInBackgroundWithBlock({
                    (imageData: NSData!, error: NSError!) -> Void in
                    if (error == nil) {
                        let image = UIImage(data:imageData)
                        self.CellBackgroundImage.append(image!)
                        println(self.CellBackgroundImage.count)
                    }

                })

            }

        }
        else{
            println("Error in retrieving \(error)")
        }

    })


}


如您所见,我将它们添加为数组,并且tableview将根据index.path显示它们。

有人可以建议什么吗?

最佳答案

用户界面的更新必须始终在主线程上执行。通常在后台线程(不确定PFQuery的东西)上调用异步网络完成,因此您需要强制在正确的线程上进行更新:

dispatch_async(dispatch_get_main_queue()) {
    self.CellBackgroundImage.append(image!)
}

关于ios - 快速解析非常慢-我的编程出错了吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28604372/

10-13 06:34