#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. Итак, я изменил имя метода, и теперь он работает нормально! В любом случае спасибо!