Le problème est que je reçois toujours des plantages à l'exécution à toute méthode appelée à phones
variable. À cette version, j'obtiens une erreur au 1
(ABMultiValueCopyValueAtIndex
). Si je commente cette ligne, le code se bloque à 2
(ABMultiValueGetCount
). Il semble que la propriété était vide. Si je NSLog
la variable phones
. Je reçois (null)
. Je teste le code sur iPhone Simulator, j'ai quelques faux contacts là-bas avec quelques numéros de téléphone. Aussi firstName
et lastName
fonctionnent comme un charme.Comment gérer plusieurs propriétés dans le carnet d'adresses de l'iPhone?
for(id person in people){
NSString *firstName = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *lastName = (NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
NSString *phone = (NSString*)ABMultiValueCopyValueAtIndex(phones, 0); /*1*/
/*2/ id ph, phLb;
for (CFIndex i = 0; i < ABMultiValueGetCount(phones); i++) {
phLb = ABMultiValueCopyLabelAtIndex(phones, i);
ph = ABMultiValueCopyValueAtIndex(phones, i);
NSLog(@"%@,%@", phLb, ph);
CFRelease(phLb);
CFRelease(ph);
}
*/
NSLog(@"%@", firstName);
NSLog(@"%@", lastName);
NSLog(@"%@", phones);
NSLog(@"%@", phone);
[firstName release];
[lastName release];
[phone release];
[phones release];
}
Ainsi est votre question comment gérer null? – slf
Ma question est, comment obtenir les numéros du carnet d'adresses. Les chiffres sont là, mais je suis en quelque sorte nul. – Alistra