问题标签 [nstimer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
223 浏览

iphone-sdk-3.0 - 使用 iPhone SDK 记录应用程序会话时间?

我想记录应用程序执行的持续时间,以保留用户活动日志。我应该使用全局 NSTimer 来记录时间吗?还是有更好的方法?

示例代码表示赞赏。

0 投票
5 回答
9587 浏览

iphone - 在 dealloc 中使 NSTimer 无效的问题

以下是我的代码:

.h 文件:

.m 文件:

现在,当调用 dealloc 时,程序在使计时器无效的行中崩溃。接下来的两行甚至没有被调用。我收到“EXC_BAD_ACCESS”错误。谁能告诉我为什么会发生这种情况,以及在类中停止和释放 NSTimer 成员变量的正确方法是什么。

0 投票
3 回答
1150 浏览

iphone - 当 0.0 < progress < 0.03 时 UIProgressView 不会改变

我有一个 UIProgressView,我用它来直观地表示一分钟计时器。它的宽度为 280 像素。我正在使用 NSTimer 逐渐减小“进度”的值,从进度 = 1.0 开始。“进度”每十分之一秒更新一次。除了最后两秒钟,它完全按照我的意愿行事。

一旦“进度”的值低于 0.03,UIProgressView 的移动就会停止(显示大约 0.2 厘米的条形图),直到“进度”达到 0.0,此时 0.2 厘米的条形图就会消失。

有谁知道为什么 UIProgressView 会这样?这是设计使然,还是我做错了什么?

编辑:

月,

我不认为它与舍入有关,因为在 NSTimer 调用的方法中,我使用 NSLog 来显示“进度”的值,并且它打印有六个有效数字,例如

2009-12-31 21:13:22.462 XXXXXXX 0.101669
2009-12-31 21:13:22.562 XXXXXXX 0.100003

此外,如果是这样的话,所有的动作都会是波涛汹涌的,不仅仅是最后两秒钟。这是 NSTimer 调用的代码:

0 投票
2 回答
12726 浏览

cocoa - 当 runloop 被阻塞时,NSTimer 不会触发

我的应用程序即将完成,Beta 测试在秒表部分发现了一个错误......秒表使用 nstimer 进行计数并有一个用于存储圈数的表,但是当圈表滚动时,手表会停止或暂停并且不弥补失去的时间。

通过使用以下方法消除了这种停滞:

计算经过的时间。

但我仍然使用 NSTimer 每 0.1 秒触发一次,这意味着即使经过的时间最终会正确更新,滚动仍然会停止计时器......并将其与 Apple 秒表进行比较让我想知道是否秒表有一个单独的线程,仅用于计算经过的时间。有谁知道这是怎么做的?

现在,使用 Epoch 以来的时间在某种意义上运行良好,但它使启动、停止和重新启动秒表的事情变得复杂

当手表停止时,时间被存储并用于计算手表重新启动时的偏移量,但是似乎引入了一些延迟,并且当手表重新启动时时间明显提前。

任何对根本原因或解决方案的想法将不胜感激。

0 投票
1 回答
302 浏览

cocoa-touch - UISlider 和实时

我正在尝试使用 UISlider 作为时间限制。问题是值在翻转到 1 之前变为 0.99。

到目前为止我的代码是

所以滑块可以工作,但我想一旦小数位达到 0.60,它就会增加 1 并将小数重置为 .00

附上截图。

谢谢,杰森贾丁

0 投票
2 回答
5853 浏览

iphone - 在 NSThread 中运行 NSTimer?

我正在尝试在我的应用程序的后台运行一个计时器,我在我的应用程序中大量使用计时器,我宁愿在后台运行它,但是在尝试释放 NSAoutreleasePool 时出现内存泄漏。我的 Timer 类是单例的,所以如果我启动新计时器,旧计时器会得到释放。

我从来没有遇到过使用应用程序 autoreleasepool 在主线程 runLoop 上运行 NSTimer 的问题。我在 [timerNSPool 发布] 处泄漏;GeneralBlock-16 Malloc WebCore WKSetCurrentGraphicsContext

导致泄漏的原因是从辅助线程更新 UI:

但是我添加了另一个方法updateTextLbl,然后我使用它来调用它

在主线程上。我根本没有泄漏,但这会破坏拥有第二个线程的目的。

这是我的第一篇文章,我感谢任何帮助谢谢......提前......

0 投票
1 回答
349 浏览

cocoa - NSThread 内存中的 NSTimer 增长?

我在线程中使用计时器,我一直在实例化计时器但是当我在仪器中运行应用程序时,我看到内存呈指数增长,我没有任何泄漏。我确定 NSThread 导致了增长?. 我在运行一个新计时器(单例)之前停止当前计时器,并且我正在释放我的 stopTimer 中的所有内容,但不确定为什么内存仍在增长?

0 投票
2 回答
2578 浏览

iphone - 带有委托方法的 NSTimer

我正在尝试在代表上设置一个 NSTimer - 我对 Objective-c 非常陌生,所以如果这没有多大意义,我深表歉意。但是我写的是:

不幸的是,这不起作用。有人可以指出我正确的方向吗?我的心已经炸了!!

0 投票
2 回答
2029 浏览

iphone - iphone NSURLConnection NSTimer 在 initWithRequest 中工作,但在 sendSynchronousRequest 中导致无法识别的选择器错误

我需要使用 NSTimer 在 75 秒之前取消我的 NSURLRequest(我测量的时间与我设置的超时无关)。我正在使用 Eric Czarny 的 XMLRPC 类。XMLRPCConnection 基本上是 NSURLConnection 类的图像。

这是接口和实现文件:

实现文件:

在 initWithXMLRPCRequest 方法中设置的计时器工作正常,但如果在 sendSycnhronousXMLRPCRequest 方法中设置,我会收到以下错误:

不明白,我确实在实现文件中声明了timeOut方法?

0 投票
2 回答
3299 浏览

objective-c - 如何使用 NSDate 运行倒计时?

我开发了一个应用程序,我在其中运行倒数计时器。计时器每秒触发一个方法。但是,当手机处于睡眠模式时,定时器会变慢甚至关闭。

我想我需要通过使用 NSDate 计算时间间隔来更新变量。有人知道该怎么做吗?

顺便说一句,我们的客户已发送以下反馈:

计时器问题似乎是由于代码假定计时器通知消息恰好在一秒钟内传递的事实引起的,但事实并非如此。当应用程序正在运行但手机处于待机状态时,它会使用计时器来更新倒数计时器。但是计时器来的慢于一秒,所以倒数计时器关闭了。应重新设计应用程序以始终根据当前时间更新倒计时计时器,而不是根据计时器消息本身进行倒计时。(换句话说,当一秒钟的消息进来时,总是假设额外的时间已经过去,并通过从目标时间中减去来计算剩余时间。这就是当你重新启动应用程序时发生的事情——它会计算出目标时间和当前时间,从另一个减去一个,并更新屏幕计时器。好吧,这就是它应该始终这样做的方式。)

如果有人了解我们到底需要什么,请告诉我。