无法将图像从 PARSE 加载到 PFTableViewCell 的 imageView 属性中

Posted

技术标签:

【中文标题】无法将图像从 PARSE 加载到 PFTableViewCell 的 imageView 属性中【英文标题】:Cannot load image from PARSE into PFTableViewCell's imageView property 【发布时间】:2015-04-14 06:10:35 【问题描述】:

我正在使用 PFQueryTableViewController 并将其设置为仅查找此用户已批准或发送给他的友谊。

“fromUser”和“toUser”是指向用户类的指针,我需要查询结果中包含的每个用户的用户名和profilePicture。

现在我尝试在我的 cellForRowAtIndexPath 方法中获取它们并加载图像:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? 


    let cellIdentifier = "contactCell"

    let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as! PFTableViewCell

    if let user = object?["fromUser"] as? PFUser 

        user.fetchInBackgroundWithBlock( (user, error) -> Void in

            if error != nil 

                println("Could not fetch user object")
            

            let user = user as! PFUser
            cell.textLabel?.text = user.username!
            cell.imageView?.file = user["profilePicture"] as? PFFile
            cell.imageView?.loadInBackground()
        )



     

让用户名显示在 tableView 中工作正常,但实际上从未加载图像。我尝试了不同的方法来加载图像,但我的单元格的 imageView 属性始终为零。

原型的类设置为 PFTableViewCell 控制器链接到情节提要中的视图

如果你们知道为什么这个内置属性是 nil 以及如何解决这个问题,请告诉我。

谢谢,

【问题讨论】:

【参考方案1】:

我找到了一个实际上效果很好的解决方法:

    在您的 TableView(故事板)中创建一个原型单元格并将其类设置为普通的“UITableViewCell” 将此单元格的reuseIdentifier 属性设置为您喜欢的值 让您的自定义单元格的文件所有者(我为此单元格创建了一个 nib 文件)成为 PFTableViewCell 的子类 为 textLabel 和 imageView 创建自定义 outlet 在 TableViewController 中为步骤 2 中设置的重用标识符注册 Nib

    最后,像这样在 cellForRowAtIndexPath 方法中使用该类:

    让单元格:PeopleTableViewCell! = tableView.dequeueReusableCellWithIdentifier("peopleCell") as? PeopleTableViewCell

我希望这也能解决您的问题。

问候,

[编辑]:似乎 SO 不喜欢我的代码 sn-p 被格式化。它嵌入在代码标签中..

【讨论】:

【参考方案2】:

PFTableViewCell 不适用于标准样式。所以你必须让你的单元格成为一个自定义单元格。

这些是我为使其工作而采取的步骤(在情节提要中):

用你自己的类子类 PFTableViewCell 在情节提要中,使用 custom 单元格自定义原型单元格 从调色板中拖动一个 UIImageView,然后将其类设置为 PFImageView 将其连接到 PFQueryTableViewController 子类中的 IBOutlet 按照您的方式在 PFQueryTableViewController 中实现 cellForRowAtIndexPath:(您的代码没有问题)。

这种方式对我有用。

【讨论】:

以上是关于无法将图像从 PARSE 加载到 PFTableViewCell 的 imageView 属性中的主要内容,如果未能解决你的问题,请参考以下文章

将图像从 Parse 加载到 UICollectionView 单元格没有延迟

尝试从查询中将 Parse PFFiles 加载到 UITableView

Swift 无法从 parse.com 检索图像

从 Parse (Swift) 中检索图像到 imageView

PFFile 无法将文件存储到 Parse-server

将数据从Parse服务器获取到xcode