2011-10-03 83 views
0

我有一個UIImageView在我的UITableViewCell沒有被顯示。我從地址簿中獲取圖像並將其保存爲NSData,但似乎不起作用。UIImage不顯示在UITableView

我有一個方法獲取圖像:

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小號並且對於每一行,我都這樣做:

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

當我調試代碼時,它看起來像角色有一個聯繫人圖片2000bytes,但我認爲它不是很好地將NSData轉換爲UIImage。至少,當我調試解決setCellPic,它說cellPic.image是0x0

感謝您的幫助!

回答

0

解決! 問題出在tableviewcell中的方法setCellPic。由於UIImageView具有相同的cellPic名稱,編譯器認爲我調用了cellPic的setter,但cellPic不是UIImage,而是UIImageView。所以我改變了方法的名稱,現在它工作正常! 無論如何,謝謝!