如何评估 NSTimer 的价值

发布于 2024-11-08 12:22:20 字数 191 浏览 0 评论 0原文

我正在制作一个应用程序,其中用户必须选择时间,例如 5 分钟或 10 分钟或 15 分钟,之后计时器将运行大约 15 秒并调用另一个函数。计时器应该每 15 秒后运行一次,我已经实现了上述内容并且它正在工作,我唯一没有得到的是如何在 15 秒的时间范围内运行 NSTimer 5 分钟或 10 分钟,就像计时器应该运行大约 15 秒和 5 分钟后的时间间隔它应该停止。

I am making on application in which user have to select the time, example 5 min or 10 min or 15 min and after that the timer will run arround 15 seconds and will called another function.Timer should have to run after every 15 seconds, i have implemented the above the things and it is working, The only thing which i am not getting is that how to run NSTimer for 5 mins or 10 mins with 15 seconds timeframe, Like timer should run time interval for arround 15 seconds and after 5 minutes it should stop.

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

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

发布评论

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

评论(3

秋心╮凉 2024-11-15 12:22:20

您每 15 秒触发一次计时器,并在计时器触发方法中不断添加时间,当时间达到 10 分钟(或 15 分钟)时,停止计时器。

[NSTimer scheduledTimerWithTimeInterval:15.0f target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];

-(void) timerFireMethod:(NSTimer *) theTimer {
    _elapsedTime += 15.0f;
    if (_elapsedTime >= 5.0 * 60) {
        // elapsed time is 5 mins.
        [theTimer invalidate];
    }
}

You fire timer every 15 seconds and in the timer fire method, keep adding the time and when time reaches 10 mins (or 15 mins), stop the timer.

[NSTimer scheduledTimerWithTimeInterval:15.0f target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];

-(void) timerFireMethod:(NSTimer *) theTimer {
    _elapsedTime += 15.0f;
    if (_elapsedTime >= 5.0 * 60) {
        // elapsed time is 5 mins.
        [theTimer invalidate];
    }
}
无可置疑 2024-11-15 12:22:20

您可以使用 2 个不同的 NSTimers,一个每 15 秒触发一次,第二个在 5 分钟后触发并停止第一个。这对你有用吗?

You can use 2 different NSTimers, one that fires every 15 secs, the second one that fires after 5 min and stops the first one. Could this work for you?

苍风燃霜 2024-11-15 12:22:20

您必须在 appdelegate(static) 或任何地方检查 nsdate 一个为全局的,以及您调用的计时器函数内的一个。然后将时间间隔设置为 15 秒,并检查当前分钟是否与全局计时器有 5 分钟的差异(如果匹配)停止计时器

you have to check nsdate one as global in appdelegate(static) or anywhere and one within function of timer which you call ..then set time interval for 15 seconds and check whether current minute has difference of 5 minutes from global timer if it matched then stop timer

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