【发布时间】:2014-11-06 03:11:02
【问题描述】:
- (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]:消息发送到已释放实例 0x618d810
【问题讨论】:
标签: ios memory-management addressbook