【发布时间】:2020-02-27 11:20:39
【问题描述】:
我有一个自动启动计时器的代码,应该用 if 语句再次停止。不幸的是,这不起作用,我没有收到错误消息。我在这里做错了什么?
import SwiftUI
import Combine
import Foundation
class WaitingTimerClass: ObservableObject {
@Published var waitingTimerCount: Int = 0
var waitingTimer = Timer()
func start() {
self.waitingTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in self.waitingTimerCount += 1 } }
func stop() { waitingTimer.invalidate() }
func reset() { waitingTimerCount = 0; waitingTimer.invalidate() }
}
struct ContentView: View {
@ObservedObject var observed = WaitingTimerClass()
var body: some View {
Text("\(self.observed.waitingTimerCount)")
.onAppear {
self.observed.start()
if self.observed.waitingTimerCount == 3 {
self.observed.stop()
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
``
【问题讨论】:
标签: timer conditional-statements swiftui