Может ли какой-либо из объектов коллекции iPhone содержать изображение? - PullRequest
0 голосов
/ 08 октября 2008

На самом деле я хотел создать собственную ячейку, содержащую 2 объекта изображения и 1 текстовый объект, и я решил создать контейнер для этих объектов.

Так можно ли поместить изображение в объект и вставить этот объект в любой из объектов коллекции, а затем использовать этот объект для отображения внутри ячейки?

Ответы [ 2 ]

2 голосов
/ 08 октября 2008

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 голос
/ 08 октября 2008

С этим не должно быть проблем. Просто убедитесь, что вы правильно его сохранили, а что нет в вашем классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...