Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        4年前关闭。
                                                                                            
                
        
我正在构建一个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;
}

10-07 19:44
查看更多