【发布时间】:2016-05-01 22:39:10
【问题描述】:
我仍在学习 swift,我正在尝试设计一个应用程序,在一个部分中,我将这个游戏计时器设置为 7 分钟(稍后将添加弄清楚如何让客户端更改它),因为现在是 7:00,我添加了 2 个按钮, 开始,暂停。我想让开始,开始倒计时直到 00:00,然后我打算添加一个弹出消息说时间到了!。
到目前为止的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet var countDown: UILabel!
var counter = 60
var timer = NSTimer()
func update() {
if counter > 0 {
countDown.text = String(counter--)
}
}
@IBAction func start(sender: UIButton) {
timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: #selector(ViewController.update), userInfo: nil, repeats: true)
}
@IBAction func pause(sender: UIButton) {
// timer.invalidate() stops the whole thing...
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
但是,应用程序不断崩溃...我不知道如何使计时器超过 60 秒,例如如何表示它。
【问题讨论】:
-
能否说明应用崩溃时出现的错误?
-
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[IwannaPlay.ViewController Start:]:无法识别的选择器发送到实例 0x7fd039c25820'
-
去检查界面生成器上的开始按钮。似乎它与错误的视图控制器和方法有关 ->(IwannaPlay.ViewController Start:])
-
@bpolat 原来我的按钮链接到 3 个东西,你刚刚解决了我的大部分问题。