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

    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);
           
    }
       
    }风之境地 java-javascript 蘑菇街女装

  • 相关阅读:
    文科妹子都会用 GitHub,你这个工科生还等什么
    阿里巴巴开发手册强制使用SLF4J作为门面担当的秘密,我搞清楚了
    天啦撸!打印日志竟然只晓得 Log4j?
    老板下了死命令,要把日志系统切换到Logback
    根号x的导数,求导方法
    Java内存模型
    loadrunner截取变量的字符串
    loadrunner11回放日志中文乱码解决办法
    软件性能测试的几个主要术语
    什么是自动化测试框架
  • 原文地址:https://www.cnblogs.com/sky7034/p/2000581.html
Copyright © 2011-2022 走看看