使用 Parse 将缩略图图像加载到表格单元格中的问题
Posted
技术标签:
【中文标题】使用 Parse 将缩略图图像加载到表格单元格中的问题【英文标题】:Issue loading a Thumbail Image into Table Cell Using Parse 【发布时间】:2015-01-02 23:20:38 【问题描述】:我正在使用 parse.com 制作一个简单的应用程序,它可以在线检索数据并填写我的表格。我已经成功地填充了我的表格单元格文本标签,但是当我尝试检索图像时,我的 PFTableViewCells 中什么也没有显示。
我的代码如下:
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!, object: PFObject!) -> PFTableViewCell!
let cell = tableView.dequeueReusableCellWithIdentifier("reuse", forIndexPath: indexPath) as PFTableViewCell
var image : UIImage = UIImage(named: "first")!
cell.textLabel?.text = object.objectForKey("Name") as? String
var thumbnail:PFFile = object.objectForKey("Image") as PFFile
cell.imageView?.image = UIImage(named: "first")
cell.imageView?.file = thumbnail
cell.imageView?.loadInBackground()
return cell
我的设置有什么问题吗?
【问题讨论】:
很多人对此感到困惑。即使您在后端将图像保存为 PFFile,您也可以通过代码将其作为数据检索。看我的回答here for reference 【参考方案1】:在 Parse PFFile 中,将图像存储为二进制数据,以便您可以在 NSData 中获取它并将该 NSData 转换为图像。我正在向您展示我用来从目标 C 中的解析对象获取图像的代码,希望它对您有用。
-(void)myParseObject:(PFObject *)obj
//postImageFile is key in which PFFile is stored in parse
[[obj objectForKey:@"postImageFile"] getDataInBackgroundWithBlock:^(NSData *data, NSError *error)
if (!error)
UIImage *image = [UIImage imageWithData:data];
// image can now be set on a UIImageView
];
【讨论】:
【参考方案2】:从现有示例中我也遇到了麻烦;这就是最终奏效的方法。从解析中获取对象时:
let thumbnail = object["toImage"] as PFFile?
然后,在 cellForRowAtIndexPath 中:
// set thumbnail image if available (must set to placeholder image first!)
cell!.imageView!.image = UIImage(named: "Placeholder")
// get image from parse.com
let thumbView = PFImageView()
if thumbnail != nil
thumbView.file = thumbnail
thumbView.loadInBackground(
(image, error: NSError!) in
if error == nil
cell!.imageView!.image = image
)
【讨论】:
以上是关于使用 Parse 将缩略图图像加载到表格单元格中的问题的主要内容,如果未能解决你的问题,请参考以下文章