首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSTimer问题

NSTimer问题
EN

Stack Overflow用户
提问于 2009-08-06 16:24:18
回答 2查看 364关注 0票数 0

我如何使用NSTimer来进行倒计时,或者这是可能的吗?我已经尝试了几件事,在处理数字时遇到了一些错误,但我希望发生的是,当我的计时器被激活时,它从5:00开始,每过一秒,我希望在我的标签上出现一个新的数字,所以……

if(Timer1 == 5:00) {

// label将显示5

}

由于某些原因,此代码给我一个使用5:00的错误。此外,我认为它甚至不会被调用,因为计时器直到时间用完才会激活方法,所以我有点卡住了:/有帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2009-08-06 16:33:15

5:00在C或Objective-C中不是有效数字。

你的问题表明你完全缺乏理解。这并没有错--只是希望在你之前必须做一堆研究/学习。

一旦你这样做了,你就能理解这一点:

不能保证重复的NSTimer每隔N分钟/秒/小时/天(无论间隔是多少)触发一次。存在斜率;相当大的斜率取决于计时器触发时发生的情况。

因此,您希望创建一个定期计时器,无论您希望更新UI的频率如何,该计时器都会触发,然后使用不同的机制计算出已经过去了多少时间。

抓取开始时间-- [NSDate date]工作得很好--将它存储在某个地方,然后用它来确定计时器触发时实际经过了多少时间(通过抓取另一个[NSDate date],然后从其中减去第一个时间,得到经过的时间)。

票数 1
EN

Stack Overflow用户

发布于 2011-03-14 21:13:16

而不是这样做:在你想要计时器的地方插入下面的代码

NSTimer scheduledTimerWithTimeInterval:(时间间隔,单位为秒)目标:自选择器:@选择器(timerFired1:)用户信息:nil重复数:NO;

- (TimerFired1)timerFired1:(NSTimer *)timer { //在指定的时间间隔后在此处执行您想要执行的操作}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1240012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档