问题标签 [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 投票
4 回答
17957 浏览

ios - 如何检查 NSTimer 是否已经失效

NSTimer如果用户点击按钮或退出视图,我需要使对象无效。

所以我有:

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

我试过了:

但这没有用。

0 投票
3 回答
1002 浏览

iphone - NSTimer 和 Touches 事件冲突

我试图在发生特定事件时执行 2 个动作,一个是在触发具有固定间隔的计时器时发生的动画,另一个也是在检测到触摸时发生的动画

两个 r 单独工作正常,但是当同时发生时,动画中的任何一个都会变慢。它因为在给定的时间单位只执行一个动作

对于 NSTimer im 使用 0.01s 的时间间隔

如何在不减慢任何动画速度的情况下使这种情况工作?

0 投票
1 回答
239 浏览

iphone - 具有触摸功能的 NSTimer?任何其他选项

我正在创建我的第一个 iphone 应用程序,在这里需要帮助。我的编程背景不是 C,我有点迷茫。

基本上我希望我的应用程序做的是显示随机位图并让用户触摸单个位图并验证它们。我用来显示位图的方法是 NSTimer 和 UIImage 用于实际位图。到目前为止,它在显示位图时工作正常。但我被困在下一步,即注册触摸的位图。我尝试在位图上使用标记,然后使用 touchesBegan 函数。每次触摸屏幕时都会出现运行时错误(我认为。)

我的问题是: 1. 鉴于我的要求,我使用的方法是一种好方法,甚至在技术上可行吗?2. 如果 q#1 的答案是否定的,您有替代解决方案吗?

谢谢,感谢您的帮助!

0 投票
3 回答
2608 浏览

objective-c - 获取 NSTimer 的 Target 的返回值

我有一个 NSTimer,它的设置如下:

如何获取timerTarget方法的返回值?

0 投票
2 回答
1147 浏览

cocoa - 如果您不需要使预定的 NSTimer 无效,是否有任何理由保留它?

我要回顾一些粗略的代码来整理它,我看到我一直保留从返回的 NSTimersscheduledTimerWithTimeInterval:target:selector:userInfo:repeats:并将它们存储在一个字段中 - 然后在它触发时释放并清空该字段。在某些情况下,我稍后会使用计时器向其发送无效消息 - 但在许多情况下不会。

在最近的代码中,我通常只是安排计时器并忘记它。我知道构造函数方法是自动释放的,并且计时器在它处于活动状态时由运行循环保留 - 所以我认为这没有任何问题。

所以,只是为了完善我的理解——还有其他原因我应该坚持我的计时器,还是我现在正在做的事情是公认的习语?

这都是在 iPhone 代码的上下文中,但我不认为这是特定于 iPhone 的。

0 投票
8 回答
18648 浏览

ios - UIScrollView 暂停 NSTimer 直到滚动完成

当 a UIScrollView(或其派生类)正在滚动时,似乎所有NSTimers正在运行的都暂停,直到滚动完成。

有没有办法解决这个问题?线程?优先级设置?任何事物?

0 投票
2 回答
1814 浏览

iphone - UILabel内存泄漏?

我有一个每秒触发一次的 NSTimer,在那一秒我通过设置 text 属性来更新 UILabel,如下所示:

它工作正常,但是当我在 xcode 中使用 Start With Performance Tool -> Leaks 运行它时,似乎内存只是不断地攀爬和攀爬。

据我了解,应该自动释放字符串(尽管我从未看到内存减少或停止增加)。

这是内存泄漏吗?有没有更好的方法可以控制我的内存使用情况?

谢谢!

更新:创建计时器的代码如下:

定时器完成时清理的代码如下:

这有什么问题吗?我认为一旦计时器完成,内存可能会被释放,但事实并非如此。

0 投票
3 回答
1277 浏览

iphone - 多少个 NSTimers 太多了?

在 iPhone OS 设备中,同时运行多少个 NSTimers 会太多?我有一堆例程被单个计时器每秒触发 25 次调用,而且事情非常不稳定,缓慢且沉重。我正在考虑添加一个或多个额外的 NSTimers 来稍微分配工作量,但我担心有多少可以使用。这可能在一定程度上取决于我意识到的每个计时器的触发率,所以让我们假设每秒 20~30 次的触发率。那么,多少个 NSTimers 是太多了?

0 投票
2 回答
3635 浏览

iphone - iPhone 应用程序处于非活动状态时的 NSTimer 回调

这个问题似乎是这个论坛上其他几个人的本质。我相信活动的 iPhone 应用程序有可能继续运行,特别是在进入非活动状态后继续接收计时器回调(通过空闲计时器启动屏幕锁定,或通过用户按下硬件锁定按钮)。

该文档特别指出,当应用程序处于非活动状态时,它正在执行,但不发送传入事件(我没有提供链接,因为我对 NDA 感到不安——我应该放松一下吗?整个帖子是否违反了?叹息)。

此外,用户“Ambr Str”的两个答案直接表明可以继续接收计时器回调,并且他提供了一段代码来实现它(我无法链接到这个,因为我是一个新用户,抱歉 - 搜索以下问题:“当 iPhone 进入待机模式时,iPhone 应用程序会发生什么情况?”找到他的答案)。

我尝试按照他的建议创建回调,但是一旦我的应用程序变为非活动状态,回调就会停止触发。

我刚刚注意到,当 iPhone 插入时,如果应用程序变为非活动状态(由于空闲超时或我按下睡眠按钮),回调确实会继续发生 - 也许我应该让我的用户携带电池和他们一起打包;-)

0 投票
2 回答
4248 浏览

iphone - 实现 NSRunLoop

好的,我已经阅读了有关为什么使用 NSRunLoop 而不是 NSTimer 调用来运行游戏循环并保持良好的帧速率的文章。

但是我在任何讨论中都没有看到在哪里创建 NSRunLoop。

应该把它放在 didFinishLoading 的末尾吗?