gpt4 book ai didi

ios - 尝试在 60 秒后触发警报框。这是行不通的

转载 作者:行者123 更新时间:2023-11-29 05:08:39 25 4
gpt4 key购买 nike

我正在尝试让此警报在过去两个小时内正常工作。我不知道为什么不会。我是否有可能让它在那里工作?

class TimerHolder : ObservableObject {
@State var showResults = false
var timer : Timer!
@Published var count = 0
func start() {
self.timer?.invalidate()
self.count = 0
self.timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) {
_ in
// self.count += 1
// print(self.count)

if self.count < 60 {
self.count += 1
print(self.count)

}else{


_ = Alert(title: Text("Warning"), message: Text("The timer will start as soon as you press OK. "), primaryButton: .default(Text("OK"), action: {})
, secondaryButton: .cancel(Text("Not yet.")))
}
}
}
}





struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

最佳答案

看来您要左转三圈才能右转。 ObservableObject 应该只是数据的持有者。

我认为最好在 ObservableObject 之外执行此操作,并且将计时器保存在 View 或 ViewController 中。

类 StartViewController: UIViewController {

var displayTimer:定时器!

override func viewDidLoad() {
super.viewDidLoad()

//setup the Timer
displayTimer = Timer.scheduledTimer(timeInterval: 60.0,
target: self,
selector: #selector(self.displayTimerFired(_:)),
userInfo: nil,
repeats: false)

}

@objc func displayTimerFired(_ timer: Timer) {

let alertController = UIAlertController(title: "60 Seconds...", message: "60 Seconds have elapsed.", preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alertController, animated: true, completion: nil)

//clean up timer
displayTimer.invalidate()


}

}

编辑

抱歉,刚刚意识到您正在使用 SwiftUI

结构TimerView: View {

let timer = Timer.publish(every: 60, on: .main, in: .common).autoconnect()

var body: some View {
.onReceive(timer) { _ in
_ = Alert(title: Text("Warning"), message: Text("The timer will start as soon as you press OK. "), primaryButton: .default(Text("OK"), action: {})
, secondaryButton: .cancel(Text("Not yet.")))

}
}

}

关于ios - 尝试在 60 秒后触发警报框。这是行不通的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59906061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com