如何在计时器应用程序上延迟几秒钟?
How to have a delay in seconds on timer app?
我正在尝试创建一个时间应用程序,该应用程序的时间有点偏离,例如我想要应用程序中的一秒钟实际上是实时的 1.5 秒。目前,我 运行 在更改时间标签时遇到错误,并且不知道从哪里开始调整我想要的与实时相比的时间。
func updateCounter() {
timeLabel.text = String(counter+=1)
}
override func viewDidLoad()
{
super.viewDidLoad()
var timer = Timer()
var counter = 0
timeLabel.text = String(counter)
}
我收到以下错误。
Cannot invoke initializer for type 'String' with an argument list of type '(())'
任何帮助都会很棒。
您必须使变量 counter
成为全局变量并在 updateCounter()
:
内的单独一行中递增计数器
var counter = 0
func {
counter += 1
timeLabel.text = String(counter)
}
override func viewDidLoad()
{
super.viewDidLoad()
var timer = Timer()
timeLabel.text = String(counter)
}
counter+=1
不是 return 一个值,这就是为什么不能作为参数传递给 String 初始值设定项的原因。
var aTimer: Timer!
let defaultTimeInterval = 1.5
var counter = 0.0
var adjustedCounter = 0.0
let timeLabel = UILabel()
override func viewDidLoad() {
super.viewDidLoad()
aTimer = Timer.scheduledTimer(timeInterval: defaultTimeInterval, target: self, selector: #selector(updateCounter), userInfo: nil, repeats: true)
}
@objc func updateCounter() {
counter += defaultTimeInterval
adjustedCounter += 1
let displayText = "original: \(counter) adjusted: \(adjustedCounter)"
timeLabel.text = displayText
print(displayText)
}
我正在尝试创建一个时间应用程序,该应用程序的时间有点偏离,例如我想要应用程序中的一秒钟实际上是实时的 1.5 秒。目前,我 运行 在更改时间标签时遇到错误,并且不知道从哪里开始调整我想要的与实时相比的时间。
func updateCounter() {
timeLabel.text = String(counter+=1)
}
override func viewDidLoad()
{
super.viewDidLoad()
var timer = Timer()
var counter = 0
timeLabel.text = String(counter)
}
我收到以下错误。
Cannot invoke initializer for type 'String' with an argument list of type '(())'
任何帮助都会很棒。
您必须使变量 counter
成为全局变量并在 updateCounter()
:
var counter = 0
func {
counter += 1
timeLabel.text = String(counter)
}
override func viewDidLoad()
{
super.viewDidLoad()
var timer = Timer()
timeLabel.text = String(counter)
}
counter+=1
不是 return 一个值,这就是为什么不能作为参数传递给 String 初始值设定项的原因。
var aTimer: Timer!
let defaultTimeInterval = 1.5
var counter = 0.0
var adjustedCounter = 0.0
let timeLabel = UILabel()
override func viewDidLoad() {
super.viewDidLoad()
aTimer = Timer.scheduledTimer(timeInterval: defaultTimeInterval, target: self, selector: #selector(updateCounter), userInfo: nil, repeats: true)
}
@objc func updateCounter() {
counter += defaultTimeInterval
adjustedCounter += 1
let displayText = "original: \(counter) adjusted: \(adjustedCounter)"
timeLabel.text = displayText
print(displayText)
}