0

ユーザーのアドレス帳にアクセス中に問題が発生しました。私のコードは

ABMultiValueRef email = ABRecordCopyValue(aSource, kABPersonEmailProperty);
        NSString* email_lbl;
        for(CFIndex i = 0; i < ABMultiValueGetCount(email); i++) {
            email_lbl = (NSString*)ABMultiValueCopyLabelAtIndex(email, i);
            if([email_lbl isEqualToString:(NSString *)kABHomeLabel])
            {
               home_email = [(NSString*)ABMultiValueCopyValueAtIndex(email, i)retain];
            }
            if([email_lbl isEqualToString:(NSString *)kABWorkLabel])
            {
               work_email = [(NSString*)ABMultiValueCopyValueAtIndex(email, i)retain];
            }
            if([email_lbl isEqualToString:(NSString *)kABOtherLabel])
            {
                basic_email = [(NSString*)ABMultiValueCopyValueAtIndex(email, i)retain];
            }

        }

home_email、work_email、basic_email をログに記録すると、Exc_bad_access 信号が受信されます。

4

1 に答える 1

0

私はこれに対する解決策を自分で見つけました。home_email、work_email、basic_email を宣言しましたが、それらを初期化していませんでした。ログに出力するまでに、それらは初期化されていませんでした。これで私の問題は解決しました。

于 2013-05-22T06:00:46.497 に答える