作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用以下代码在我的应用中设置检索电话号码。
CFStringRef addressBookMobile;
ABRecordRef person;
NSString *mobile;
person = CFArrayGetValueAtIndex(people, i);
addressBookMobile = ABRecordCopyValue(person, kABPersonPhoneProperty);
mobile = [NSString stringWithFormat:@"%@", addressBookMobile];
联系人的标签是'mobile'。但是,当我使用 NSLog(@"%@", mobile);
.它显示 <NSCFType: 0x802ffc0>
.我的代码有什么问题吗?
我应该使用 const CFStringRef kABPersonPhoneMobileLabel
吗?以及如何使用?好像我把它替换成上面的代码,它有错误。谁能帮我?谢谢。
最佳答案
检查 ABPerson Refrence,您不需要使用 @"$!!$",而是使用 kABPersonPhoneMobileLabel。例子是:
ABMultiValueRef phones = (ABMultiValueRef)ABRecordCopyValue(person, kABPersonPhoneProperty);
NSString* mobile=@"";
NSString* mobileLabel;
for (int i=0; i < ABMultiValueGetCount(phones); i++) {
//NSString *phone = (NSString *)ABMultiValueCopyValueAtIndex(phones, i);
//NSLog(@"%@", phone);
mobileLabel = (NSString*)ABMultiValueCopyLabelAtIndex(phones, i);
if([mobileLabel isEqualToString:(NSString *)kABPersonPhoneMobileLabel]) {
NSLog(@"mobile:");
} else if ([mobileLabel isEqualToString:(NSString*)kABPersonPhoneIPhoneLabel]) {
NSLog(@"iphone:");
} else if ([mobileLabel isEqualToString:(NSString*)kABPersonPhonePagerLabel]) {
NSLog(@"pager:");
}
[mobile release];
mobile = (NSString*)ABMultiValueCopyValueAtIndex(phones, i);
NSLog(@"%@", mobile);
}
关于iphone - 如何从 iPhone 通讯录中检索手机号码。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3546476/
我是一名优秀的程序员,十分优秀!