2011-08-04 3 views
1

私のアプリではアドレス帳の連絡先を取得していますが、電話番号を持たない連絡先を取り出したときに例外が発生します。私は何をすべきか?どのようにnilの連絡先番号を確認するか? アドレス帳から取得した連絡先に電話番号がないかどうかを確認する方法を教えてください。アドレス帳から取得した連絡先に電話番号がないかどうかを確認する方法を教えてください。

ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty); 

    if (ABMultiValueCopyValueAtIndex(multi, 0)) { 
     NSLog(@"No number available"); 
     [email protected]"No number available"; 
    } 
    else { 
    cont.number = (NSString*)ABMultiValueCopyValueAtIndex(multi, 0); 
    } 

答えて

2

このコードはもともとiPhoneDevSDKです。私はそれをいくつか修正しました:

ABMultiValueRef phones =(NSString*)ABRecordCopyValue(
    person, kABPersonPhoneProperty); 

CFIndex numPhoneNums = ABMultiValueGetCount(phones); 
if(numPhoneNums == 0) { 
    NSLog(@"No number available"); 
    cont.number = @"No number available"; 
} else { 
    cont.number = (NSString*) ABMultiValueCopyValueAtIndex(phones, 0); 
} 

これは、存在する場合、あなたに最初の電話番号を与えます。特定のラベルを取得したい場合は、ループして、必要なラベルが見つかるまで​​でテストする必要があります。

+0

はまだ(動作しない(とNAME1が何であるか?多分それは人ですか? –

+0

私は私のMacのATMでないんだけど、何が動作しない? – Perception

+0

番号が取得されていないすべての –

関連する問題