任何iPhone集合对象都可以保存图像吗?

时间:2008-10-08 05:15:18

标签: iphone cocoa-touch

实际上,我想要一个包含2个图像对象和1个文本对象的自定义单元格,我决定为这些对象创建一个容器。

那么可以在对象中保存图像并将该对象插入任何集合对象中,然后使用该对象在单元格内显示吗?

2 个答案:

答案 0 :(得分:2)

NSArray和NSDictionary都拥有对象。这些很可能是您将用于表格视图的集合。

实现您尝试执行的操作的最佳方法是使用UIImage类。 UIImages包装CGImage并为您完成所有内存管理(如果您的应用程序内存不足,图像数据被清除并在您绘制时自动重新加载 - 非常酷,是吗?)您还可以非常轻松地从文件中读取图像使用这个类(支持一大堆格式)。

有关更多信息,请查看NSArray,NSMutableArray和UIImage的文档。

//create a UIImage from a jpeg image
UIImage *myImage = [UIImage imageWithContentsOfFile:@"myImage.jpg"];
NSArray *myArray = [NSMutableArray array];      // this will autorelease, so if you need to keep it around, retain it
[myArray addObject:myImage];



//to draw this image in a UIView's drawRect method
CGContextRef context = UIGraphicsGetCurrentContext();  // you need to find the context to draw into
UIImage *myImage = [myArray lastObject];   // this gets the last object from an array, use the objectAtIndex: method to get a an object with a specific index
CGImageRef *myCGImage = [myImage CGImage];
CGContextDrawImage(context, rect, myCGImage);  //rect is passed to drawRect

答案 1 :(得分:1)

应该没有问题。只要确保你正确地保留它以及你班上没有的东西。