2011-04-08 98 views
0

我想检查给定的号码是否在电话簿或编程方式。检查号码是否在手机通讯录不是

我能够显示给定数量的联系人姓名,如果它是存在于电话簿,但程序崩溃时,有电话本与这个数字没有联系...... ,但我想要的是显示名称如果它存在于电话簿.....如果,如果不是在电话簿...... 和我的代码如下显示的数量....

的NSMutableArray *名称= [[NSMutableArray里alloc] init]; NSMutableArray * phonenumbers = [[NSMutableArray alloc] init];

ABAddressBookRef addressBook = ABAddressBookCreate(); 
NSArray *thePeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); 

NSString *name; 
for (id person in thePeople) 
{ 

    name = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty); 
    NSLog(@"!!!!!! name ---> %@",name); 
    ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty); 
    int count1=ABMultiValueGetCount(multi); 
    NSLog(@"%d",count1); 

    if ([name length]>0 && count1!=0) 
    { 
     NSString *beforenumber = (NSString *)ABMultiValueCopyValueAtIndex(multi, 0); 
     NSLog(@" contacts:%@",beforenumber); 
     NSString* removed1=[beforenumber stringByReplacingOccurrencesOfString:@"-"withString:@""]; 
     NSString* removed2=[removed1 stringByReplacingOccurrencesOfString:@")"withString:@""]; 
     NSString* removed3=[removed2 stringByReplacingOccurrencesOfString:@" "withString:@""]; 
     NSString* removed4=[removed3 stringByReplacingOccurrencesOfString:@"("withString:@""]; 
     NSString* removed5=[removed4 stringByReplacingOccurrencesOfString:@"+"withString:@""]; 

     [names addObject:name]; 
     [phonenumbers addObject:removed5]; 

    } 

} 
int barindex = -1; 
barindex = [phonenumbers indexOfObject:number]; 
if(barindex == -1) 
    return number; 
else 
return [names objectAtIndex:barindex]; 

任何一个可以请帮我该怎么做.............

谢谢.......

+0

你在使用来电显示吗? – Jorge 2011-04-08 06:24:01

+0

不,我有一个文本框,我将手动输入数字,我必须显示名称,如果数字存在,否则显示我必须显示数字..... – user564963 2011-04-08 06:27:36

+0

你需要,只要用户是打字或在输入号码后按下按钮? – Jorge 2011-04-08 06:30:50

回答