我正在尝试弄清楚如何在此代码中添加姓氏和名字,以便从我的手机中获取他们的联系人图片:
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;
}
我也可能在这里缺少代码,所以请填写需要它的区域。我只是想弄清楚如何将第一个,最后一个名称添加到上面的代码中,所以我知道当我到达该联系人时为其提取图像。
任何帮助都会很棒!谢谢!
答案 0 :(得分:4)
要获取FirstName和LastName,您可以使用:
NSString *firstName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty);
此处显示如何Search By Number and Get the image using ABAddressBook。
但是你想搜索By FirstName和LastName。因此,根据Documentation,您应该对多个参数使用-recordsMatchingSearchElement:方法。
获得匹配的数据后,您可以使用以下代码提取图像:
CFDataRef imageData = ABPersonCopyImageData(aABRecordRef);
UIImage *image = [UIImage imageWithData:(NSData *)imageData];
CFRelease(imageData);
希望你从中获得有用的东西。
答案 1 :(得分:0)
尝试:
CFStringRef firstName, lastName; // can cast this to NSString *
firstName = ABRecordCopyValue(aABRecordRef, kABPersonFirstNameProperty);
lastName = ABRecordCopyValue(aABRecordRef, kABPersonLastNameProperty);