debugging - 麻烦调试 NSTimer

标签 debugging swift nstimer

我试图让图像显示 1 秒并在 1 秒后消失。当我构建我的应用程序时它工作正常但是当我运行我的应用程序时它崩溃了。这是我的代码:

var flashTimer = NSTimer()
var timerCounter = 0
var currentTime = 0
var randomImageGeneratorNumber = 0
var flashingImageView = UIImageView()
var flashButton = UIButton()

@IBAction func flashButton(sender: UIButton) {

    var randomImageGeneratorNumber = arc4random_uniform(6) + 1
    if flashButton.hidden {
        flashButton.hidden = true
        flashingImageView.hidden = false
    }
    if randomImageGeneratorNumber == 1 {
        flashingImageView.image = UIImage(named: "Image1.png")
    }
    if randomImageGeneratorNumber == 2 {
        flashingImageView.image = UIImage(named: "Image2.png")
    }
    if randomImageGeneratorNumber == 3 {
        flashingImageView.image = UIImage(named: "Image3.png")
    }
    if randomImageGeneratorNumber == 4 {
        flashingImageView.image = UIImage(named: "Image4.png")
    }
    if randomImageGeneratorNumber == 5 {
        flashingImageView.image = UIImage(named: "Image5.png")
    }
    if randomImageGeneratorNumber == 6 {
        flashingImageView.image = UIImage(named: "Image6.png")
    }
    var currentTime = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "timerFunc", userInfo: nil, repeats: false)
    func timerFunc(sender: AnyObject){
        flashingImageView.hidden = true;
    }
}

调试器输出的错误是: [Flash_Facts.ViewController timerFunc]: 无法识别的选择器发送到实例 0x7f9ceb774810

我不确定如何解决这个问题。有什么建议吗?

提前致谢。

最佳答案

问题是您必须在 IBAction 函数之外创建您的函数。这同样适用于您的计时器 var ( currentTime )

var currentTime = NSTimer()
func timerFunc() {
     flashButton.hidden = !flashButton.hidden
     flashingImageView.hidden = !flashingImageView.hidden
}
@IBAction func flashButton(sender: UIButton) {
     flashButton.hidden = !flashButton.hidden
     flashingImageView.hidden = !flashingImageView.hidden
     flashingImageView.image = UIImage(named: "Image\(arc4random_uniform(6) + 1).png")
     currentTime = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "timerFunc", userInfo: nil, repeats: false)

}

关于debugging - 麻烦调试 NSTimer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28653055/

相关文章:

swift - 如何 grep 使用 RunLoop 的 macOS 控制台应用程序的标准输出

ios - Swift ios Firebase 不返回任何数据

javascript - 从 JavaScript 登录到 Firefox 错误控制台

c++ - 我可以使用 Windows 事件日志来调试应用程序吗?

ios - 调整字体大小以适合边界矩形?

ios - 带有 NSTimeInterval 值数组的后续 WKInterfaceTime/NSTimer 事件

ios - 如何通过应用程序运行计时器进入后台或终止

ios - IOS 编程中模型和 View 之间的数据通信

Java : Debugger is not stopping inside Third Party API class files

node.js - 忽略调试器;调试 session 期间 Node.js 中的语句