无法将图像从 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