如何在iphone中取消UITableview reloaddata功能

时间:2011-04-21 06:56:15

标签: iphone

在我的应用程序中,我已经从oneviewcontroller推送到另一个视图控制器。在该页面中,我已经启动了一个计时器并且每1秒更新一次UITableview(使用UITableview reloaddata)。

我已在viewwillappear功能启动计时器并使viewwilldisappear中的计时器无效。

但是当计时器运行时,当我回到我的viewcontroller时,我的应用程序迅速崩溃。

请帮帮我?提前谢谢......

我的猜测是当我向Viewcontroller推回时间表在前一个viewcontroller中重载时,它会崩溃。我正在使用try catch但没有任何区别。当我们不在那个页面时,我们可以停止tableview重新加载吗?

2 个答案:

答案 0 :(得分:0)

你的应用程序崩溃的主要原因是,当你从另一个ViewController返回到oneViewController时,你的表视图在你的计时器仍处于活动状态之间释放,它正在尝试更新tableView,当你访问发布对象然后app会崩溃。所以你需要在正确停止你的计时器之前,如果计时器isValid则需要它。 我希望我的回答能帮到你。

答案 1 :(得分:0)

您强烈需要在课程的dealloc方法中向所有计时器发送 invalidate 消息

- (void)dealloc
{
    if ([_someTimer isValid]) [_someTimer invalidate];

}