我的UITableViewCell中有一个UIImageView没有显示。我从地址簿中获取图像并将其保存为NSData但似乎无法正常工作。
我有一个获取图像的方法:
if (ABPersonHasImageData(contactrec)){
CFDataRef imageData = ABPersonCopyImageData(contactrec);
[person setPic:(NSData *)imageData];
CFRelease(imageData);
}
我的tableviewcell有以下方法,cellPic
链接到UIImageView
-(void)setCellPic:(UIImage *) pic{
cellPic.image = pic;
}
最后,我有一个充满person
s的contactsArray,每行,我这样做:
Person *persona =[contactsArray objectAtIndex:indexPath.row];
UIImage *contactImage = [UIImage imageWithData:(NSData *)[persona pic]];
[cell setCellPic:contactImage];
当我调试代码时,似乎角色有一个接触whith pic 2000bytes,但我认为它没有很好地将NSData转换为UIImage。至少,当我调试结算setCellPic时,它说cellPic.image是0x0
感谢您的帮助!
答案 0 :(得分:0)
解决! 问题出在tableviewcell中的setCellPic方法。由于UIImageView具有相同的cellPic名称,编译器认为我调用了cellPic的setter但是cellPic不是UIImage,它是UIImageView。所以我改变了方法的名称,现在工作正常! 不管怎样,谢谢!