ios实现通讯录的查询与删除

os提供了对通讯录操作的组建,其中一个是直接操作通讯录,另一个是调用通讯录的UI组建。实现方法如下:

添加AddressBook.framework到工程中。

ios实现通讯录的查询与删除_第1张图片

代码实现:

    -(IBAction)onClickbutton:(id)sender     {         NSMutableArray* personArray =[[[NSMutableArray alloc] init] autorelease];         ABAddressBookRef addressBook =ABAddressBookCreate();         NSString*firstName,*lastName,*fullName;         personArray =(NSMutableArray*)ABAddressBookCopyArrayOfAllPeople(addressBook);         if([sender tag]==0){             for(id *person in personArray)             {                 firstName =(NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);                 firstName =[firstName stringByAppendingFormat:@" "];                 lastName =(NSString*)ABRecordCopyValue(person, kABPersonLastNameProperty);                   fullName =[firstName stringByAppendingFormat:@"%@",lastName];                 NSLog(@"===%@",fullName);                 ABMultiValueRef phones =(ABMultiValueRef)ABRecordCopyValue(person, kABPersonPhoneProperty);                 for(int i =0;i <ABMultiValueGetCount(phones); i++)                 {                     NSString*phone =(NSString*)ABMultiValueCopyValueAtIndex(phones, i);                     NSLog(@"===%@",phone);                 }                 ABMultiValueRef mails =(ABMultiValueRef)ABRecordCopyValue(person, kABPersonEmailProperty);                 for(int i =0;i <ABMultiValueGetCount(mails); i++)                 {                     NSString*mail =(NSString*)ABMultiValueCopyValueAtIndex(mails, i);                     NSLog(@"==%@",mail);                 }                   }           }else{             //删除信息             //返回所有联系人到一个数组中             CFArrayRef personArray =ABAddressBookCopyArrayOfAllPeople(addressBook);             CFIndex personCount =ABAddressBookGetPersonCount(addressBook);               for(int i =0;i<personCount;i++){                   ABRecordRefref=CFArrayGetValueAtIndex(personArray, i);                   CFStringRef firstName1 =ABRecordCopyValue(ref, kABPersonFirstNameProperty);                   CFStringRef lastName1 =ABRecordCopyValue(ref, kABPersonLastNameProperty);                   NSString*contactFirstLast =[NSString stringWithFormat: @"%@%@",(NSString*)firstName1,(NSString*)lastName1];                 if([contactFirstLast isEqualToString:@"徐梦"]){                     //删除联系人                     ABAddressBookRemoveRecord(addressBook,ref,nil);                 }             }             //保存电话本             ABAddressBookSave(addressBook,nil);               //释放内存             //CFRelease(personRef);     //        CFRelease(addressbookRef);          }     }

你可能感兴趣的:(ios,iPhone,通讯录)