<分区>
我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。
关闭 8 年前。
我正在构建一个 iOS 应用程序,我试图在其中获取所有电话联系人并显示它们。
现在的问题是,如果有两个电话号码以一个名字保存,那么在我的列表中只显示第一个号码。
我需要检索针对一个特定联系人保存的两个号码。
最佳答案
从方法 shouldContinueAfterSelectingPerson
中,您可以获得所选 person
的引用,您可以获得不同的电话号码,例如,
multi = ABRecordCopyValue(person, kABPersonPhoneProperty);
for(i=0; i< ABMultiValueGetCount(multi);i++)
{
NSMutableString *numb = (__bridge NSMutableString*)ABMultiValueCopyValueAtIndex(multi, i);
//next 5 line will make numbers are clear digit, without symbols.
numb = [NSMutableString stringWithFormat:@"%@",[numb stringByReplacingOccurrencesOfString:@" " withString:@""]];
numb = [NSMutableString stringWithFormat:@"%@",[numb stringByReplacingOccurrencesOfString:@"(" withString:@""]];
numb = [NSMutableString stringWithFormat:@"%@",[numb stringByReplacingOccurrencesOfString:@")" withString:@""]];
numb = [NSMutableString stringWithFormat:@"%@",[numb stringByReplacingOccurrencesOfString:@"-" withString:@""]];
numb = [NSMutableString stringWithFormat:@"%@",[numb stringByReplacingOccurrencesOfString:@"." withString:@""]];
NSString *valAtIndex = (__bridge NSString *)ABMultiValueCopyLabelAtIndex(multi,i);
if([valAtIndex isEqualToString:@"_$!<Mobile>!$_"] || [valAtIndex isEqualToString:@"_$!<Other>!$_"])
mobileNumber = numb;
if ([valAtIndex isEqualToString:@"_$!<Home>!$_"])
homeNumber = numb;
if ([valAtIndex isEqualToString:@"_$!<Work>!$_"])
WorkNuimber = numb;
}
关于ios - 如何从 IOS 中的地址簿中检索针对一个联系人保存的所有电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29982983/
相关文章:
ios - 标签栏 Controller 中多个标签的一个导航 Controller
iphone - 禁用添加到 UITableView 的 UISearchbar 的滚动
arrays - 如何使用 TableView 获取数组中所选值的 Int?
ios - heightForRowAtIndexPath 无法正常工作
objective-c - NSTextView 中是否可以有 float 图像或文本框,或者我将使用什么来做到这一点?
iOS - MKMapView 使用地址而不是纬度/经度来放置注释
iphone - 我们如何才能释放我们不再使用它的 View ?