UIImage не отображается в UITableView

#uitableview #uiimage

#uitableview #uiimage

Вопрос:

У меня есть UIImageView в моей UITableViewCell, который не отображается. Я получаю изображение из адресной книги и сохраняю его как NSData, но, похоже, это не работает.

У меня есть метод получения изображения:

 if (ABPersonHasImageData(contactrec)){
        CFDataRef imageData = ABPersonCopyImageData(contactrec);
        [person setPic:(NSData *)imageData];
        CFRelease(imageData);
    }
  

В моей tableviewcell есть следующий метод, который cellPic связан с UIImageView

 -(void)setCellPic:(UIImage *) pic{
    cellPic.image = pic;
}
  

И, наконец, у меня есть contactsArray, полный person s, и для каждой строки я делаю:

 Person *persona =[contactsArray objectAtIndex:indexPath.row];
UIImage *contactImage = [UIImage imageWithData:(NSData *)[persona pic]];
[cell setCellPic:contactImage];
  

Когда я отлаживаю код, кажется, что persona имеет для контакта с рисунком 2000 байт, но я думаю, что он не очень хорошо преобразует NSData в UIImage. По крайней мере, когда я отлаживаю установочный setCellPic, он говорит, что cellPic.image равен 0x0

Спасибо за вашу помощь!

Ответ №1:

Решено! Проблема заключалась в методе setCellPic в tableviewcell. Поскольку UIImageView имел то же имя cellPic, компилятор подумал, что я вызываю установщик cellPic, но cellPic не был UIImage, это UIImageView. Итак, я изменил имя метода, и теперь он работает нормально! В любом случае спасибо!