gpt4 book ai didi

ios - CFRelease(addressBook) 使我的 iOS 应用程序崩溃

转载 作者:可可西里 更新时间:2023-11-01 06:25:22 25 4
gpt4 key购买 nike

- (void)tableView:(UITableView *)tableView 
accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = indexPath.row;

if (row == NSNotFound)
return;

if (call.uid != kABRecordInvalidID)
{
ABAddressBookRef addressBook = ABAddressBookCreate();

ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook,
call.uid);


// CFRelease(addressBook);// commenting out this makes the program not crash

}
}

这就是问题所在,静态代码分析告诉我存在内存泄漏,因为我没有释放地址簿。我尝试释放它,但如果我返回释放它的屏幕并再次调用此函数,应用程序就会崩溃。

假设我点击了 uitableview 上的附件按钮。我做了我必须做的事情并返回到原始窗口,然后再次单击 uitableview 的附件按钮,程序崩溃并出现此错误:

-[Not A Type retain]: message sent to deallocated instance 0x618d810

最佳答案

地址簿不是(直接)导致崩溃的原因。

您并没有留住您的人,您只是获得了对他/她的推荐。尝试对你的人使用 CFRetain

ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook,
call.uid);
CFRetain(person);
CFRelease(addressBook);

关于ios - CFRelease(addressBook) 使我的 iOS 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059525/

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