【问题标题】:Why is the image and label not loading the imported information?为什么图片和标签没有加载导入的信息?
【发布时间】:2016-03-03 03:53:23
【问题描述】:

我正在从解析中导入图像和字符串并将其放入单元格中,但它不会加载到视图中,当我转到另一个视图并返回时,它会出现。发生这种情况的任何原因以及如何解决?请注意,我在 viewDidLoad 中调用它。

query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error: NSError?) -> Void in
            if(error == nil){

                for object in objects!{
                   if let name = object["Animal"] as? PFObject{
                        self.animalname.append(name["Name"] as! String)
                        self.tableview.reloadData()

                    }

                    if let pic = object["Animal"]["Pic"] as? PFFile{
                        pic.getDataInBackgroundWithBlock({ (data: NSData?, error: NSError?) -> Void in
                            if(error == nil){
                                let image = UIImage(data: data!)
                                self.imagepro.append(image!)


                            }

                        })
                        self.tableview.reloadData()
                    }
            }
      }

【问题讨论】:

  • 图片也在后台加载,所以你必须在完成后重新加载tableView。您似乎也将图片存储在imagepro 中,但是您如何保证为正确的单元格获得正确的图片,因为它们可能以任何顺序运行?此外,应该使用 dispatch_async 在主队列上调用 reloadData。
  • UPDATE* 当我尝试访问指针名称时没有任何反应
  • 指针是什么?你能发布你的代码cellForRowAtIndexPath吗?它如何知道要显示哪个动物名称和 imagepro 索引?

标签: ios swift uitableview parse-platform


【解决方案1】:

看来,在图像下载之前,您正在重新加载表格视图。试试这个

if let pic = object["Animal"]["Pic"] as? PFFile{
    pic.getDataInBackgroundWithBlock({ (data: NSData?, error: NSError?) -> Void in
        if(error == nil){
            let image = UIImage(data: data!)
            self.imagepro.append(image!)
            dispatch_async(dispatch_get_main_queue()) {
                 self.tableview.reloadData()
            }
        }
    })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-25
    • 2017-07-14
    • 2017-08-30
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多