在我的代码中,我向我的tableHeaderView添加了一个UIView。
self.tableView.tableHeaderView = containerView;
然后我需要释放或禁用这个。我试着用
[self.tableView setTableHeaderView:nil];
[tableView reloadData];
但它不起作用,我有这个错误:
malloc: *对象0x4b1aff0的错误:未释放指针被释放 * 在malloc_error_break中设置断点以进行调试
感谢您的阅读,
托米
答案 0 :(得分:1)
我在尝试
时遇到错误:EXC_BAD_ACCESS
[self.tableView setTableHeaderView:nil];
我改变了:
dispatch_async(dispatch_get_main_queue(), ^{
self.tableView.tableHeaderView = nil;
});
它对我有用。 祝你好运!
P / s:我知道这是个老问题:D
答案 1 :(得分:0)
错误消息显示您的containerView未分配,然后当您尝试将该属性设置为nil时,您会收到错误。
答案 2 :(得分:0)
您应该执行类似
的操作// First create the containerView
UIView *containerView = [UIView alloc] init..];
// Set it as the table header view (this will retain it)
[self.tableView setTableHeaderView:containerView];
// Now we're done with containerView, so release it:
[containerView release];
您也可以使用
UIView *containerView = [UIView alloc] init..] autorelease];
但是你不需要最后发布的消息。
如果你想“禁用”这个标题视图,它应该足以做你写的:
[self.tableView setTableHeaderView:nil];
[self.tableView reloadData];
答案 3 :(得分:0)
它对我有用:
self.tableView.tableHeaderView = nil;
以及
[self.tableView setTableHeaderView:nil];
我想你可能还有另外一个问题。也许你正在发布你的容器视图。