gpt4 book ai didi

ios - 使用 ABRecord 和 ARC 的潜在泄漏

转载 作者:行者123 更新时间:2023-11-28 22:48:12 24 4
gpt4 key购买 nike

我有这个代码:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker 
shouldContinueAfterSelectingPerson:(ABRecordRef)personRecord
property:(ABPropertyID)property
identifier:(ABMultiValueIdentifier)identifier
{
//TODO: release phoneNumberProperty when done
ABMultiValueRef phoneNumberProperty = ABRecordCopyValue(personRecord, kABPersonPhoneProperty);
int selectedPhNum = ABMultiValueGetIndexForIdentifier(phoneNumberProperty, identifier);//Turns identifier into index
NSString *txtNum = (NSString *)CFBridgingRelease(ABMultiValueCopyValueAtIndex(phoneNumberProperty, selectedPhNum));
//NSLog(@"Selected ph num = %@", txtNum);
[[self toTextField] setText:txtNum];
phoneNumberProperty = nil;
[self dismissViewControllerAnimated:YES completion:NULL];

静态分析器说存在潜在泄漏。我知道我需要释放 phoneNumberProperty 但如何释放?我正在使用 ARC,因此 [phoneNumberProperty release] 无法正常工作。将它设置为零,它仍然会提示。

感谢帮助

最佳答案

使用 CFRelease 函数释放您的 ABMultiValueRef 变量:

...
if (phoneNumberProperty)
CFRelease(phoneNumberProperty);

关于ios - 使用 ABRecord 和 ARC 的潜在泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12642892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com