刷新UITableview会导致EXC_BAD_ACCESS错误

时间:2012-04-19 13:32:52

标签: objective-c ios xcode exc-bad-access

在我的rss feed应用程序中,我有一个包含NewsItems的数组,每个项目都负责异步地从Web请求它的图像(通过使用ASCHTTPRequest库和NSOperationQueue方法)

我想在我的RSS进纸器中添加一个刷新功能。我的尝试是再次重新创建一个新数组(并释放所有旧的NewsItems)并重复请求过程。

但是,如果我在所有NewsItems获取其图像之前刷新内容,则会导致EXC_BAD_ACCESS错误导致崩溃。 (由于旧项目是dealloc,并且通过委托对这些项目进行回调..)

我应该如何以更好的方式解决这个问题?这是否意味着我不能简单地取消所有旧项目的解除,而不检查它们是否已经完成了它的请求?

很抱歉,如果我无法清楚地描述我的问题。期待您的帮助谢谢!

1 个答案:

答案 0 :(得分:1)

您必须跟踪所有当前的HTTP请求。当您希望刷新时,取消所有请求,然后重新创建新阵列。这样,您的异步请求将不会尝试更新已释放的图像。