从 CoreData 检索的 TableView 上的图像

Posted

技术标签:

【中文标题】从 CoreData 检索的 TableView 上的图像【英文标题】:Image on TableView which is retrieved from CoreData 【发布时间】:2011-05-12 02:51:25 【问题描述】:

我想显示从核心数据中检索到的图像,并且每个单元格都有不同的图像。我已经这样做了,但我不知道如何从这条路径中检索并将图像放入单元格中。任何人都可以帮助我吗?提前致谢。

 NSString * filePath = @"01.jpg";
NSData * imageData = UIImageJPEGRepresentation([UIImage imageNamed:filePath], 0.1);
[productInfo setValue:imageData forKey:@"productImage"];

【问题讨论】:

【参考方案1】:

您可以从模型中获取托管对象并将其放置在数组中,其中数组将包含以下照片名称。我假设你的实体是 photoStore 并且存储照片文件名的列是 nameOfPhoto,所以代码看起来像,

NSFetchRequest *fetchRequest=[[[NSFetchRequest alloc] init] autorelease]; 
NSEntityDescription *entity=[NSEntityDesription entityForName:@"photoStore" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity : entity];
NSArray fecthedObject = [fetchRequest executeFetchRequest:fetchRequest error:nil];
for(NSManagedOect *photos in fetchedObect)

  [self.arrayOfImageNames addObject : [photos valueForKey :@nameOfPhoto"]];

现在,在 cellForRowAtIndexPath 中,使用图像名称将图像添加到单元格的 imageview 中,

NSString *imagePath = [NSHomeDirectory() stringByAppendingString : [[self.arrayOfImageNames objectAtIndex:indexpath.row] stringByAppendingPathComponent:"jpg"]];
cell.imageView.image=[UIImage imageNamed:imagePath];

这就是您如何将图像名称添加到核心数据中,然后检索名称构造一个路径并显示它。

【讨论】:

【参考方案2】:

如果你想获取路径,请使用这个 -

[[NSBundle mainBundle] pathForResource:@"01" ofType:@"jpg"];

【讨论】:

我想从核心数据中检索图像,然后将其放入 UITableViewCell。

以上是关于从 CoreData 检索的 TableView 上的图像的主要内容,如果未能解决你的问题,请参考以下文章

从 TableView 中获取数据(CoreData)

NSIndexPath:从 CoreData 检索数据

在 Swift 中的自定义单元格中存储/检索核心数据

CoreData - 从 tableView 中删除行

从 TableView 中的 CoreData 中删除实体时出错

Swift - 保存到核心数据