Утечка памяти ABMultiValueRef? - PullRequest
0 голосов
/ 23 сентября 2011

Когда я использую Instruments, он жалуется на утечку памяти в emailProperty. Анализатор жалуется на mobileLabel. Фрагмент кода ниже. Учитывая, что я использую релиз и CFRelease, есть ли очевидная причина, почему он жалуется? Заранее спасибо за любые ответы.

    // Email is a multi value property, take "Home"
ABMultiValueRef emailProperty = ABRecordCopyValue(person, kABPersonEmailProperty);
NSString *email;
NSString *mobileLabel;
for (CFIndex i = 0; i < ABMultiValueGetCount(emailProperty); i++)
{
    mobileLabel = (NSString *)ABMultiValueCopyLabelAtIndex(emailProperty, i);
    if ([mobileLabel isEqualToString:@"_$!<Home>!$_"])
    {
        email = (NSString *)ABMultiValueCopyValueAtIndex(emailProperty,i);
        self.emailAddress.text = email;
        self.emailAddress.enabled = NO;
        self.emailAddress.borderStyle = UITextBorderStyleNone;
        [email release];
        break;
    }
    [mobileLabel release];

}
CFRelease(emailProperty);

1 Ответ

1 голос
/ 02 февраля 2012

Я переключился с использования NSString * на CFString + CFRelease, и это, похоже, помогло.Анализатор по-прежнему жалуется, но, похоже, он работает нормально в Профиле -> Утечки.

...