获取联系人图片ios

我想弄清楚如何在下面的代码中添加人名字 ,以便从我的手机获取他们的联系人图片:

if(ABPersonHasImageData(aABRecordRef)) { UIImage *image = [UIImage imageWithData:(NSData *)ABPersonCopyImageData(aABRecordRef)]; cell.imageView.image = image; } else { UIImage *image1=[UIImage imageNamed:@"User.jpg"]; cell.imageView.image=image1; } 

我也可能在这里缺少代码,所以请填写需要它的区域。 我只是想弄清楚如何在上面的代码中添加第一个,最后一个名字,所以我知道我什么时候到达那个联系人为它提取图像。

任何帮助都会很棒! 谢谢!

要获取FirstName和LastName,您可以使用:

 NSString *firstName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty); NSString *lastName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty); 

这里显示如何按编号搜索并使用ABAddressBook获取图像 。

但是您想要搜索By FirstName和LastName。 因此,根据文档 ,您应该使用-recordsMatchingSearchElement:方法进行多个参数。

获得匹配的数据后,您可以使用以下代码提取图像:

 CFDataRef imageData = ABPersonCopyImageData(aABRecordRef); UIImage *image = [UIImage imageWithData:(NSData *)imageData]; CFRelease(imageData); 

希望你从中获得有用的东西。

尝试:

 CFStringRef firstName, lastName; // can cast this to NSString * firstName = ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty); lastName = ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty);