我开发了一款使用核心数据存储员工详细信息的iPad应用。我只有三个字段:姓名,ID和部门。在启动应用程序时,名称显示在表格视图中,在单击任何行时,相应的ID和部门将显示在详细视图中。
现在我想在详细视图中显示员工的图片,但不是将其存储在核心数据中。我在资源文件夹中有一个名为“Images”的子文件夹,其中的图片按照表格视图中显示的名称的顺序存储。
请帮助我。
答案 0 :(得分:1)
使用静态方法[NSBundle mainBundle]
获取表示应用程序包的对象。然后,您可以调用实例方法- (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension
来获取存储图像的路径。获得路径后,可以使用图像路径创建 UIImage 的实例。然后,您可以创建 UIImageView (如果您愿意,可以在界面构建器中完成),然后您可以将图像设置为 UIImage 的实例。
例如:
NSString* pathToImage = [[NSBundle mainBundle] pathForResource:@"pictureOfJohn" ofType:@"png"];
UIImage* image = [UIImage imageWithContentsOfFile:pathToImage];
UIImageView* imageView = [[UIImageView alloc] init];
imageView.image = image;
[myEnclosingView addSubview:imageView];
[imageView release];
请注意, imageView 的创建和添加可以在界面构建器中完成。
答案 1 :(得分:1)
您应该阅读有关CoreData实体的瞬态属性的内容。例如,您可以轻松添加属性图像,这是暂时的(=不会将值存储到基础持久性存储中),它可以直接从文件系统读取/写入图像。换句话说,您可以将所有内容放在一个位置,一个类中没有实体,另一个类中的图像处理等等。