美文网首页
关于NSTimer

关于NSTimer

作者: innepeace | 来源:发表于2020-09-09 11:04 被阅读0次

    Timer使用注意事项:
    1.被VC持有,当页面消失,倒计时未结束,未被销毁,导致VC不被dealloc。
    VC1推出VC2a,VC2a有一个NSTimer,timer,从VC2a返回VC1,此时VC2a的timer还未结束倒计时。返回VC1时,timer未释放,导致VC2a未被dealloc,此时VC1再次推出VC2b,就会导致有一个未被显示的VC2a仍然存在于内存。如果VC2中有使用通知,RAC等接收数据,会导致VC2a和VC2b同时收到通知,后续逻辑会走两遍。
    解决办法:在VC2的viewDidDisappear:方法中,检查self是否已经不在navigationcontroller.viewControllers中,不在则表示已经被抛弃,此时主动释放timer,如果则是跳转了下一个页面,此时不释放timer(再次返回该页面时,不会生成新的VC2)

    (持续更新)

    相关文章

      网友评论

          本文标题:关于NSTimer

          本文链接:https://www.haomeiwen.com/subject/egceektx.html