Swift 对UITableView分析后端太慢

Swift 对UITableView分析后端太慢,swift,parse-platform,Swift,Parse Platform,全部,, 我在这方面得到了一些帮助,我非常感谢,但我仍然在努力让数据自动在tableview上查看。我正在努力寻找我应该放在哪里 tableview.reloadData() 我可以通过下拉tableview来刷新它,它会直接进入,但不会自动显示。。任何人都可以重新审视这一准则 var backgroundQueue:dispatch_queue_t = dispatch_queue_create("SerialQueue", nil) var query = PFQuer

全部,, 我在这方面得到了一些帮助,我非常感谢,但我仍然在努力让数据自动在tableview上查看。我正在努力寻找我应该放在哪里

tableview.reloadData()
我可以通过下拉tableview来刷新它,它会直接进入,但不会自动显示。。任何人都可以重新审视这一准则

var backgroundQueue:dispatch_queue_t =  dispatch_queue_create("SerialQueue", nil)

        var query = PFQuery(className:"TableViewData")
        query.includeKey("EventLoc")
        query.findObjectsInBackgroundWithBlock{
            (objects: [AnyObject]!, error: NSError!) -> Void in

            if error == nil {

                for object in objects {
                    dispatch_async(backgroundQueue, { () -> () in


                        let thumbNail = object["backgroundImage"] as PFFile

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

                                }
                            }
                        })



                        let eventiconimage = object["EventIcon"] as PFFile
                        eventiconimage.getDataInBackgroundWithBlock({
                            (imageData: NSData!, error: NSError!) -> Void in
                            if (error == nil) {
                                dispatch_async(dispatch_get_main_queue()) {
                                    let image = UIImage(data:imageData)
                                    self.EventIconImageArray.append(image!)
                                }

                            }
                        })


                        var VenueLocation = object["EventLoc"] as PFObject!
                        VenueLocation.fetchIfNeededInBackgroundWithBlock {
                            (VenueLocation: PFObject!, error: NSError!) -> Void in
                            dispatch_async(dispatch_get_main_queue()) {
                                let VenueLocationTitle = VenueLocation["EventLocation"] as NSString
                                self.EventLocationArray.append(VenueLocationTitle)
                            }

                        }



                        dispatch_async(dispatch_get_main_queue()) {
                            self.TitleArray.append(object["EventTitle"] as String)
                            self.EventPriceArray.append(object["EventPrice"] as String)
                            self.EventStartDate.append(object["EventStartDate"] as NSDate)
                            self.EventEndDate.append(object["EventEndDate"] as NSDate)


                        }

                      self.tableView.reloadData()
这会带来所有的数据,但我不知道在哪里添加重载,所以它会带来,因为它错过了第一次

谢谢


jason

在更新主队列上的数据源后重新加载表视图。我得到了Aaron mate,但我如何知道所有数据是何时从Parse下载的?您正在异步加载数据,这意味着它将在不同的线程上工作,并且在调用表时仍可能工作。您需要同步运行它,将其放入异步块,或连续刷新。您可以参考本文了解如何在后台加载图像。注意电池回收问题。