zoukankan      html  css  js  c++  java
  • 实现通讯录的查询与删除

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

    添加AddressBook.framework到工程中。

    image

    代码实现:

        -(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); 
            }
        }
  • 相关阅读:
    亚马逊的客户服务和承诺
    亚马逊云主管:我们有可能成为全世界最大的企业公司
    阿里市值超越亚马逊 马云开启下半场技术理想
    股价飙升500倍,市值超过4700亿美元,从网络书店起家的亚马逊凭什么一飞冲天?
    美国女子不断收到中国神秘快递,背后原因竟是刷单
    亚马逊称网络星期一成公司史上“最大的购物日
    万众创业葬送了多少人的前程
    日本企业遭遇严重用工短缺
    培生同意以3亿美元出售华尔街英语
    亚马逊500多名欧洲员工宣布在“黑色星期五”罢工
  • 原文地址:https://www.cnblogs.com/q403154749/p/3928114.html
Copyright © 2011-2022 走看看