//取得用戶的電話本 代碼
-(void)getuseraddressbook{
//redic = {7:數(shù)碼先鋒,1:最愛街拍} //打開電話本數(shù)據(jù)庫
abaddressbookref addressref=abaddressbookcreate();
//返回所有聯(lián)系人到一個數(shù)組中
cfarrayref personarray = abaddressbookcopyarrayofallpeople(addressref);
nsmutabledictionary *jsondictionary = [[nsmutabledictionary alloc]init];
//循環(huán)讀取每個聯(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)計數(shù) int j; //用于保存有多項的屬性值 abmultivalueref values ; //==============================================================================
//循環(huán)讀出該項的所有值,如果需要修改讀出其它具有多項值的屬性,只需修改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技術(shù)專欄