我正在尝试在Swift制作一个洗衣定时器应用程序,其中洗衣机和烘干将有不同的开始时间,倒数到0。
func updateTime() {
...
var elapsedTime: NSTimeInterval = operationDuration - (currentTime - startTime)
...
}
在var elapsedTime中我有operationDuration(洗衣机或烘干机需要多长时间)以及稍后在@IBAction
函数中按下“洗衣机”按钮我
let operationDuration == 1800
但是我收到的错误是updateTime func
'operationDuration'未定义。
我该怎么做?提前谢谢。
编辑:
这是我的washerButtonPress
代码:
@IBAction func washerButtonPress(sender: AnyObject) {
// TODO: start 30 minute countdown
if !timer.valid {
var operationDuration = 1800
let aSelector:Selector = "updateTime"
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)
startTime = NSDate.timeIntervalSinceReferenceDate()
}
我是如何在func updateTime()
var elapsedTime: NSTimeInterval = washerButtonPress.operationDuration - (currentTime - startTime)
然后返回'(AnyObject) -> ()' does not have a member named 'operationDuration'
我为不太了解道歉,但我对这个很陌生
答案 0 :(得分:0)
如果这只是一个常量,你可以将它声明为全局变量。
let kOperationDuration = 1800
class Washer {
...
@IBAction func washerButtonPress(sender: AnyObject) {
if !timer.valid {
let aSelector:Selector = "updateTime"
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)
startTime = NSDate.timeIntervalSinceReferenceDate()
}
}
...
}
然后在Dryer类中,您可以引用常量。
class Dryer {
...
func updateTime() {
...
var elapsedTime: NSTimeInterval = kOperationDuration - (currentTime - startTime)
...
}
...
}