ios – 如何检查NSTimer是否已经无效

ios – 如何检查NSTimer是否已经无效,第1张

概述我有一个NSTimer对象,如果用户点击按钮或退出视图,我需要无效. 所以我有: [myNSTimer invalidate]; 在我的按钮处理程序和里面viewWillDisappear.如果用户点击按钮,然后存在一个视图,则应用程序会抛出异常,因为myNSTimer已被禁用. 我在viewWillDisappear方法中需要做的是检查myNSTimer是否已被无效.我怎么做? 我试过了: if 我有一个NSTimer对象,如果用户点击按钮或退出视图,我需要无效.

所以我有:

[myNSTimer invalIDate];

在我的按钮处理程序和里面vIEwWilldisappear.如果用户点击按钮,然后存在一个视图,则应用程序会抛出异常,因为myNSTimer已被禁用.
我在vIEwWilldisappear方法中需要做的是检查myNSTimer是否已被无效.我怎么做?

我试过了:

if(myNSTimer != nil)  [myNSTimer invalIDate];

但那没有办法.

解决方法 一旦你使定时器无效,只需调用它(假设你保留了你的参考),然后没有你的引用.这样当您退出视图时,尝试使定时器无效第二次将只调用该方法,而不执行任何 *** 作.

或者,您可以使用[NSTimer isValID]来检查它是否有效,然后无效,但是无论如何,无论如何无法使其无效,确实没有理由坚持您的引用.另外,如果你真正的问题是你没有保留你的引用,所以第一个valIDate实际上留下了一个引用指向一个已释放的对象,那么调用-isValID也不会帮助.

总结

以上是内存溢出为你收集整理的ios – 如何检查NSTimer是否已经无效全部内容,希望文章能够帮你解决ios – 如何检查NSTimer是否已经无效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1111773.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存