NSTimer 失效

发布于 2024-11-24 22:10:26 字数 292 浏览 2 评论 0 原文

如果我创建一个从不重复的计时器

[NSTimerchedTimerWithTimeInterval:3.0 target:selfselector:@selector(updateSystems) userInfo:nilrepeats:NO];

我还需要使其无效吗?

另外,释放实例是 invalidate 方法中的一个步骤吗?由于我没有使用 alloc 我的计时器变量不应该被释放,尽管在创建计时器时它应该自动创建一个新线程?计时器还在堆栈上累加吗? 我需要一些澄清。

谢谢

If I create a timer which never repeats

[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(updateSystems) userInfo:nil repeats:NO];

do I still need to invalidate it?

Also, is releasing the instance one step in the invalidate method? Since I'm not using alloc my timer variable shouldn't have to be released, although when creating a timer it automatically should create a new thread? Does the timer still add up on the stack?
I need some clarity.

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你怎么敢 2024-12-01 22:10:26

请参阅 该方法的文档。它说:

重复
如果是,计时器将重复重新调度自身,直到失效。 如果“否”,计时器触发后将失效

See the documentation for the method. It says:

repeats
If YES, the timer will repeatedly reschedule itself until invalidated. If NO, the timer will be invalidated after it fires.

骄傲 2024-12-01 22:10:26

您没有创建任何指向 NSTimer 的指针。您直接通过类方法使用它。此方法不会创建 NSTimer 的新实例,因此您不必释放它。

You are not creating any pointer to NSTimer. You are using it directly through a class method. This method does not creates a new instance of NSTimer so you don't have to release it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文