ios – 如何重置NSTimer? SWIFT代码

ios – 如何重置NSTimer? SWIFT代码,第1张

概述因此,我正在创建一个应用程序/游戏,您可以在计时器用完之前点击与图片对应的按钮,然后输掉.你得到1秒钟点击按钮,如果你选择了正确的按钮,那么计时器将重置并出现一张新照片.我无法重置计时器.一旦我试图重置它,它会在一秒后触发.这是代码: loadPicture()运行viewDidLoad() func loadPicture() { //check if repeat picture 因此,我正在创建一个应用程序/游戏,您可以在计时器用完之前点击与图片对应的按钮,然后输掉.你得到1秒钟点击按钮,如果你选择了正确的按钮,那么计时器将重置并出现一张新照片.我无法重置计时器.一旦我试图重置它,它会在一秒后触发.这是代码:

loadPicture()运行vIEwDIDLoad()

func loadPicture() {    //check if repeat picture    secondInt = randomInt    randomInt = Int(arc4random_uniform(24))    if secondInt != randomInt {        picturename = String(self.PicList[randomInt])        image = UIImage(named: picturename)        self.picture.image = image        timer.invalIDate()        resetTimer()    }    else{        loadPicture()    }}

这是resetTimer()方法:

func resetTimer(){        timer = NSTimer.scheduledTimerWithTimeInterval(1.0,target: self,selector: Selector("gameOverTimer"),userInfo: nil,repeats: false)}

我认为它可能与NSRunloops有关?我不确定.我甚至不知道NSRunloop是多么诚实.

@R_403_6120@ 所以我终于想通了……

我必须通过初始化来创建一个单独的函数来启动计时器.
在resetTimer()函数中,我添加了timer.invalIDate()行.所以我的代码看起来像这样:

func loadPicture() {    //check if repeat picture    secondInt = randomInt    randomInt = Int(arc4random_uniform(24))    if secondInt != randomInt {        picturename = String(self.PicList[randomInt])        image = UIImage(named: picturename)        self.picture.image = image        resetTimer()    }    else{        loadPicture()    }}func startTimer(){    timer = NSTimer.scheduledTimerWithTimeInterval(1.0,userInfo: "timer",repeats: true)}func resetTimer(){    timer.invalIDate()    startTimer()}

编辑

使用新的选择器语法,它看起来像这样:

func startTimer(){    timer = NSTimer.scheduledTimerWithTimeInterval(1.0,selector: #selector(nameOfClass.startTimer),repeats: true)}
总结

以上是内存溢出为你收集整理的ios – 如何重置NSTimer? SWIFT代码全部内容,希望文章能够帮你解决ios – 如何重置NSTimer? SWIFT代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1105451.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存