iphone取得用戶的電話本代碼

字號(hào):


    //取得用戶的電話本 代碼
    -(void)getuseraddressbook{
    //redic = {7:數(shù)碼先鋒,1:最愛街拍} //打開電話本數(shù)據(jù)庫(kù)
    abaddressbookref addressref=abaddressbookcreate();
    //返回所有聯(lián)系人到一個(gè)數(shù)組中
    cfarrayref personarray = abaddressbookcopyarrayofallpeople(addressref);
    nsmutabledictionary *jsondictionary = [[nsmutabledictionary alloc]init];
    //循環(huán)讀取每個(gè)聯(lián)系人
    for (int i =0;i< p>
    //得到當(dāng)前聯(lián)系人
    abrecordref personref=cfarraygetvalueatindex(personarray, i); //==============================================================================
    cfstringref firstname=abrecordcopyvalue(personref, kabpersonfirstnameproperty);
    cfstringref lastname=abrecordcopyvalue(personref, kabpersonlastnameproperty);
    //cfstringref userphone = abrecordcopyvalue(personref,kabpersonphoneproperty );
    nsstring *allname;if([firstname isequaltostring:@]||firstname==nil){if([lastname isequaltostring:@]||lastname==nil){
    allname=@空;
    }
    }else if([lastname isequaltostring:@]||lastname==nil){allname=[nsstring stringwithformat:@];
    }else if([firstname isequaltostring:@]||firstname==nil){allname=[nsstring stringwithformat:@>];
    }else{
    allname=[nsstring stringwithformat:@];
    } // nslog(@); //============================================================================== // nslog(@); //用于循環(huán)計(jì)數(shù) int j; //用于保存有多項(xiàng)的屬性值 abmultivalueref values ; //==============================================================================
    //循環(huán)讀出該項(xiàng)的所有值,如果需要修改讀出其它具有多項(xiàng)值的屬性,只需修改kab...property //具有多項(xiàng)值的屬性有電話,地址,email
    values = (abmultivalueref) abrecordcopyvalue(personref , kabpersonphoneproperty);
    //nslog(@);
    nsstring *getphonenum;
    for(j = 0 ;j < abmultivaluegetcount(values); j++) {
    getphonenum = [nsstring stringwithformat:@%@, (nsstring *)abmultivaluecopyvalueatindex(values, j)]; }if(abmultivaluegetcount(values)==0){
    getphonenum=@空;
    }//nslog(@); // values = (abmultivalueref) abrecordcopyvalue(personref , kabpersonemailproperty);// for( j = 0 ;j < abmultivaluegetcount(values); j++)// { // nslog(@1-%@, (nsstring *)abmultivaluecopyvalueatindex(values, j));// // }// // values = (abmultivalueref) abrecordcopyvalue(personref , kabpersonaddressproperty);// for( j = 0 ;j < abmultivaluegetcount(values); j++)// { // nslog(@2-%@, (nsstring *)abmultivaluecopyvalueatindex(values, j));// // }[jsondictionary setobject:getphonenum forkey:allname] ; //============================================================================== }
    //nslog(@); nsstring *str = [jsondictionary jsonrepresentation];nslog(@); // nsstring *d = [str jsonvalue];[jsondictionary release];
    // nsstring *str = [jsondictionary jsonrepresentation];// nsmutabledictionary *d = [jsondictionary jsonvalue];// nslog(@%@ , [d description]); // [dlist release];//nslog(@);}