タイトルのように、電話番号でデバイスのアドレス帳から連絡先を見つけるための最良かつ効率的な方法は何ですか?実際、私は次のような方法を使用します。
注:
[rm getElencoContatti]
アドレスブック内のすべての連絡先を
[contatto getID]
返しますアドレスブックから連絡先IDを
[contatto getNumeriContatto]
返しますアドレスブックからすべての連絡先の電話番号を返します
+(NSMutableDictionary *)getNomeContattoDaNumero:(NSString *)numeroTelefono {
NSMutableDictionary *returnValue = [[NSMutableDictionary alloc]init];
NSNumber *idContact;
for(ContattoRubrica *contatto in [rm getElencoContatti]) {
idContact = [contatto getID];
for(id numero in [contatto getNumeriContatto]) {
if([numeroTelefono isEqualToString:[numero objectForKey:@"numeroTelefono"]]) {
[returnValue setValue:[contatto getNomeContatto] forKey:@"nome"];
[returnValue setValue:idContact forKey:@"idContatto"];
return returnValue;
}
}
}
[returnValue setValue:numeroTelefono forKey:@"nome"];
[returnValue setValue:[NSNumber numberWithInt:-1] forKey:@"idContatto"];
return returnValue;
}
この方法を約200の連絡先のアドレス帳でテストしましたが、この機能は非常に遅いです。これを自動的に行うABAddressbook.hメソッドはありますか?
前もって感謝します。