Swift 敏捷的关闭应用程序后,使NSTimer保持运行
好的,我正在构建一个应用程序,你有6条生命,当你死后,你必须等待2分钟才能获得新的生命,以下是我到目前为止所拥有的:Swift 敏捷的关闭应用程序后,使NSTimer保持运行,swift,nstimer,Swift,Nstimer,好的,我正在构建一个应用程序,你有6条生命,当你死后,你必须等待2分钟才能获得新的生命,以下是我到目前为止所拥有的: var timeLeft = 120 var countDownTime = NSTimer() func died() { countDownTime = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: ("updateTimer"), userInfo: nil, repeats
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
}
我的问题是如何保持计时器运行,所以当我关闭和打开我的应用程序时,计时器一直在运行
很抱歉,如果这是一个重复的问题,我只是无法得到我问题的答案。您可能需要将计时器开始时间戳保存到
NSUserDefaults
:
如果用户离开应用程序。输入时,在您的
AppDelegate
或InitialViewController
中,您可以检查所用时间是否大于2分钟,然后继续或向用户显示等待屏幕。我想您希望在应用程序运行后台时NSTimer运行正确。对吗
当应用程序在后台运行时,NSTimer只正确运行约3分钟(从IOS7开始)或10分钟(在IOS7之前)。所以,如果您想在应用程序运行后台时正确运行NSTimer,则需要提供进程运行后台(例如:播放音频)
如何运行后台音频,您可以参考以下链接:
关于。打开应用程序,您是指从终止状态或后台状态打开应用程序,并解释关闭应用程序?这可能有帮助:持久存储?当玩家死亡时,存储日期时间。每当玩家尝试重新启动游戏时,您需要确保自存储时间起已经过了两分钟。