Изображение на TableView, полученное из CoreData - PullRequest
1 голос
/ 12 мая 2011

Я хочу отобразить изображение, которое извлекается из базовых данных, и каждая ячейка будет иметь свое изображение. Я сделал это, но я не знаю, как извлечь из этого пути и поместить изображение в клетку. Кто-нибудь может мне помочь в этом? Заранее спасибо.

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

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Вы можете получить управляемый объект из вашей модели и поместить его в массив, где массив будет содержать имена фотографий, как показано ниже. Я предполагаю, что ваша сущность будет 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 используйте имя изображения, чтобы добавить изображение к изображению вашей ячейки как,

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

Таким образом, вы добавите имя хранилища в основные данные, а затем получите имя, создадите путь к нему и отобразите его.

0 голосов
/ 12 мая 2011

, если вы хотите получить путь, используйте это -

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