我正在尝试在Swift中制作一个洗衣计时器应用程序,其中洗衣机和烘干机的开始时间不同,倒计时为0。
func updateTime() {
...
var elapsedTime: NSTimeInterval = operationDuration - (currentTime - startTime)
...
}
在var elapsedTime中,我具有operationDuration(洗衣机或干衣机需要多长时间),后来在
@IBAction
函数中用于按下“洗衣机”按钮let operationDuration == 1800
但是我在更新时间功能上遇到错误
未定义“ 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'
很抱歉,我所知不多,但我对此很陌生
最佳答案
如果这仅仅是一个常量,则可以将其声明为全局变量。
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)
...
}
...
}