这就是我宣布NSMutablearray
self.otherDealsList = [[NSMutableArray alloc] init];
我将从Web服务中获取一些值并将其插入此数组中。这个可变数组用于填充我的tableview数据。但是当用户单击按钮时,我想从Web服务获取新数据并将其插回到可变数组中。
在替换可变数组内容的过程中,如果用户单击或滚动tableview,应用程序将崩溃。所以为了避免这种情况,我首先尝试清空可变数组并重新加载表来清空表视图。这是我使数组为空的代码
if ([self.otherDealsList count] > 0) {
[self.otherDealsList removeAllObjects];
[tableView reloadData];
}
但我的应用在"Bad access"
行上运行时会一直崩溃('removeallobjects'
)。我很确定我没有在任何地方发布它。
我也尝试使用NSZombie thingy来运行它。但它根本不会崩溃。
答案 0 :(得分:3)
我正在联系你另一个与你非常相似的问题。在调用removeAllObjects之前,您最有可能在NSMutableArray中释放一些对象,这就是导致问题的原因。请在此处阅读更多内容 - NSMutableArray removeAllObjects crash。
答案 1 :(得分:1)
我相信你可能会额外保留你的物品。
self.otherDealsList = [[[NSMutableArray alloc] init] autorelease];