你好,我从下面的代码中得到了名字、姓氏和手机号码。
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
{
NSString* name = (NSString *)ABRecordCopyValue(person,
kABPersonFirstNameProperty);
firstNameLabel.text = name;
[name release];
NSString *lastName =(NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);
lastNameLabel.text = lastName;
[lastName release];
if (property == kABPersonPhoneProperty) {
ABMultiValueRef multiPhones = ABRecordCopyValue(person, kABPersonPhoneProperty);
for(CFIndex i = 0; i < ABMultiValueGetCount(multiPhones); i++) {
if(identifier == ABMultiValueGetIdentifierAtIndex (multiPhones, i)) {
CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(multiPhones, i);
CFRelease(multiPhones);
NSString *phoneNumber = (NSString *) phoneNumberRef;
numberLabel.text = [NSString stringWithFormat:@"%@", phoneNumber];
// [phoneNumber release];
// CFRelease(phoneNumberRef);
}
//CFRelease(multiPhones);
}
}
[self dismissModalViewControllerAnimated:YES];
return NO;
}我得到了泄密..。这是屏幕截图。请帮我解决泄漏问题

发布于 2011-12-13 19:31:46
请检查代码
if (property == kABPersonPhoneProperty) {
ABMultiValueRef multiPhones = ABRecordCopyValue(person, kABPersonPhoneProperty);
for(CFIndex i = 0; i < ABMultiValueGetCount(multiPhones); i++) {
if(identifier == ABMultiValueGetIdentifierAtIndex (multiPhones, i)) {
CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(multiPhones, i);
NSString *phoneNumber = (NSString *) phoneNumberRef;
numberLabel.text = [NSString stringWithFormat:@"%@", phoneNumber];
// [phoneNumber release];
CFRelease(phoneNumberRef);
}
}
CFRelease(multiPhones);
}https://stackoverflow.com/questions/8488322
复制相似问题