Swift 2.0:需要在 Parse 的 PFQueryTableViewController 上显示图像(PFFile)?

Posted

技术标签:

【中文标题】Swift 2.0:需要在 Parse 的 PFQueryTableViewController 上显示图像(PFFile)?【英文标题】:Swift 2.0:Need to display image(PFFile) on PFQueryTableViewController from Parse? 【发布时间】:2015-11-30 17:02:01 【问题描述】:

我正在尝试将图像(文件)从 Parse 检索到 PFQueryTableViewController。我在下面写了我的代码。我认为这是正确的,但我可能缺少一些小东西。我想看到图像显示,但我只看到图像应该是空白的地方。图像也在 Parse 中。我以前尝试过这个实例并且它有效,但由于某种原因,我看不到它在这里适用于这种情况。那么如何从解析中检索图像以显示在查询中?

    let query = PFQuery(className: "Test")

    if let query = profilePage 

        pencil = NSMutableArray()

        query.addAscendingOrder("createdAt")

        query.findObjectsInBackgroundWithBlock (objects: [AnyObject]?, error: NSError?) -> Void in

            if error == nil                
                for object in objects! 

                    let pencil : PFObject = object as! PFObject
                    self.pencil.addObject(pencil)                 
                

                let array : NSArray = self.pencil.reverseObjectEnumerator().allObjects

                self.pencil = NSMutableArray(array: array)

                self.tableView.reloadData()

             else 


            
        

    

        override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?, object: PFObject!) -> PFTableViewCell? 
       let cell = tableView!.dequeueReusableCellWithIdentifier("TakerCell", forIndexPath: indexPath!) as! TestTaker


        if let uTest : PFObject = self.pencil.objectAtIndex(indexPath!.row) as! PFObject 
        cell.testWriter.text = posts["taker"] as? String
        cell.testInfo.text = posts["information"] as? String
        if let photo = object["picture"] as? PFFile 
        let PFimageV = cell.userImg as PFImageView
        PFimageV.image = UIImage(named: "userImage")
        PFimageV.file = photo
        PFimageV.layer.cornerRadius = imageView.frame.width/2
        PFimageV.clipsToBounds = true
        PFimageV.loadInBackground()

            

            

【问题讨论】:

请提供调试证据。像这样的问题至少应该向读者展示PFimageVphoto 已正确初始化。问题还应包含您所看到的和您期望看到的... 是否显示默认图像 ("userImage") 而不是数据中的图像?有一个投票结束类别称为“为什么我的代码不起作用”。在目前的状态下,这篇文章符合条件。 【参考方案1】:

这里是如何使用普通查询从 Parse 中获取图像(您可以添加自己的 whereKeys)...

    let query = PFQuery(className: "Your Class Name")
    query.findObjectsInBackgroundWithBlock  (objects, error) -> Void in
        if let objects = objects as? [PFObject] 
            for object in objects 
                self.imagesArray.append(UIImage(data: object["image"]!.getData()!)!)

            

        

    

【讨论】:

我编辑了我的帖子,因为我认为我的项目中已经有了你的方法。 @JoshyJay 好酷!看看我如何将图像附加到数组中。这就是将 PFFile 转换为 UIImage 的方式。

以上是关于Swift 2.0:需要在 Parse 的 PFQueryTableViewController 上显示图像(PFFile)?的主要内容,如果未能解决你的问题,请参考以下文章

与 parse.com 的 signUpInBackgroundWithBlock:() 等效的 Swift 2.0 是啥?

如何使用 Swift 2.0 在 Parse.com (REST API) 中上传图像并将其与用户关联

Swift 2.0 和 Parse - 'init()' 不可用:使用 'init(domain:code:userInfo:)'

解析查询不显示结果

检查用户是不是有效 Parse (Swift)

使用 Parse 在 iOS Swift 中更新对象