首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >斯威夫特。关闭应用程序后,让NSTimer继续运行

斯威夫特。关闭应用程序后,让NSTimer继续运行
EN

Stack Overflow用户
提问于 2016-02-04 19:10:48
回答 2查看 2.5K关注 0票数 2

好的,我正在构建一个应用程序,你有6条生命,当你死后,你必须等待2分钟才能获得新的生命,这是我现在所拥有的:

代码语言:javascript
运行
复制
var timeLeft = 120
var countDownTime = NSTimer()

func died() {
    countDownTime = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: ("updateTimer"), userInfo: nil, repeats: true)
}

func updateTimer() {
    timeLeft--
    if timeLeft == 0 {
        stopTimer()
    }
}

func stopTimer() {
    countDownTime.invalidate()
    timeLeft = 120
}

我的问题是如何保持这个计时器运行,所以当我关闭并打开我的应用程序时,计时器一直在运行?

对不起,如果这是一个重复的问题,我只是无法得到我的问题的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-04 19:35:32

您可能希望将计时器启动时间戳保存到NSUserDefaults中。

如果用户离开应用程序。在输入时,您可以在AppDelegateInitialViewController中检查运行时间是否大于2分钟,然后继续进行,或者向用户显示等待屏幕。

票数 2
EN

Stack Overflow用户

发布于 2016-02-05 04:26:57

我想当您的应用程序运行后台时,您希望NSTimer运行正确。这是正确的吗?

当应用程序运行后台时,NSTimer只运行大约3分钟(来自IOS7)或10分钟(在IOS7之前)。因此,如果您希望在应用程序运行后台时NSTimer运行正确,那么您需要提供一个进程运行背景(Ex: Play音频)。

如何运行背景音频,您可以参考以下链接:http://www.raywenderlich.com/92428/background-modes-ios-swift-tutorial

致以问候。

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

https://stackoverflow.com/questions/35209556

复制
相关文章

相似问题

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