Il y a peu, je parlais de la sérialisation d’un contact dans l’AddressBook de l’iPhone. Toujours dans la même veine, voyons comment afficher, dans une application, la photographie d’un contact de l’AddressBook.
L’idée est de partir du ABRecordRef correspondant au contact dont on souhaite afficher l’image. A partir de là, on vérifie que ce contact dispose bien d’une photo dans sa fiche (via ABPersonHasImageData(). Pour finir, on récupère les données brutes de l’image ( ABPersonCopyImageData()) et on crée la UIImage qui va bien (via initWithData:).
Au final, voilà ce que ça donne:
if(ABPersonHasImageData(recordRef)) { NSData *myAvatarData = (NSData *) ABPersonCopyImageData(recordRef); UIImage *avatarImage = [[UIImage alloc] initWithData:myAvatarData]; [myAvatarData release]; } |
Après, il ne faut pas oublier de libérer myAvatarData puisqu’il est devenu inutile. Charge à vous ensuite d’afficher avatarImage dans le UIImageView qui va bien. Simple non ?
