在我的应用程序中,我已经从oneviewcontroller推送到另一个视图控制器。在该页面中,我已经启动了一个计时器并且每1秒更新一次UITableview
(使用UITableview reloaddata
)。
我已在viewwillappear
功能启动计时器并使viewwilldisappear
中的计时器无效。
但是当计时器运行时,当我回到我的viewcontroller时,我的应用程序迅速崩溃。
请帮帮我?提前谢谢......
我的猜测是当我向Viewcontroller推回时间表在前一个viewcontroller中重载时,它会崩溃。我正在使用try catch但没有任何区别。当我们不在那个页面时,我们可以停止tableview重新加载吗?
答案 0 :(得分:0)
你的应用程序崩溃的主要原因是,当你从另一个ViewController返回到oneViewController时,你的表视图在你的计时器仍处于活动状态之间释放,它正在尝试更新tableView,当你访问发布对象然后app会崩溃。所以你需要在正确停止你的计时器之前,如果计时器isValid则需要它。 我希望我的回答能帮到你。
答案 1 :(得分:0)
您强烈需要在课程的dealloc方法中向所有计时器发送 invalidate 消息
- (void)dealloc
{
if ([_someTimer isValid]) [_someTimer invalidate];
}