iphone取得用户的电话本代码
2015-03-12来源:易贤网

//取得用户的电话本 代码

-(void)getuseraddressbook{

//redic = {7:数码先锋,1:最爱街拍} //打开电话本数据库

abaddressbookref addressref=abaddressbookcreate();

//返回所有联系人到一个数组中

cfarrayref personarray = abaddressbookcopyarrayofallpeople(addressref);

nsmutabledictionary *jsondictionary = [[nsmutabledictionary alloc]init];

//循环读取每个联系人

for (int i =0;i< p>

//得到当前联系人

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(@); //用于循环计数 int j; //用于保存有多项的属性值 abmultivalueref values ; //==============================================================================

//循环读出该项的所有值,如果需要修改读出其它具有多项值的属性,只需修改kab...property //具有多项值的属性有电话,地址,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(@);}

更多信息请查看IT技术专栏

推荐信息