gpt4 book ai didi

ios - 我正在尝试制作一个计算 WPM 的应用程序

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

我正在尝试制作一个计算 WPM 的应用程序。在游戏结束时,我想使用计时器在 60 秒后停止应用程序。我不知道如何阻止它。我试图用条件语句来阻止它。但我不知道如何用 SwiftUI 实现它。如果有人有任何其他想法那就太好了。

import SwiftUI

struct ContentView: View {
@State var userInput = ""
@State var modalview = false
@State var getstarted = false
@EnvironmentObject var timerHolder : TimerHolder
var body: some View {

ZStack() {
modalView(modalview: $modalview, userInput: userInput)

}.sheet(isPresented: $modalview) {

modalView(modalview: self.$modalview)

}

}

}




struct modalView : View {
@ObservedObject var durationTimer = TimerHolder()

@Binding var modalview : Bool
@State var userInput: String = ""


var body: some View {

VStack{

Button(action: {
self.modalview = true
}) {
TextField("Get Started", text:$userInput)
.background(Color.gray)
.foregroundColor(.white)
// .frame(width: 300, height: 250).cornerRadius(20)
}
Text("\(userInput.count)")
if durationTimer == 60 {
.alert(isPresented: $showAlert) {
Alert(title: Text("Reminder"), message: Text("You wrote"), primaryButton: .default(Text("Yes"), action: { self.presentationMode.wrappedValue.dismiss() })
, secondaryButton: .cancel(Text("No")))
}; else {
}




}
}

}

class TimerHolder : ObservableObject {
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)
}
}






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

}

最佳答案

我更改了一些代码来给您提供线索。

      struct ContentView: View {
@State var userInput = ""
@State var modalview = false
@State var getstarted = false
@EnvironmentObject var timerHolder : TimerHolder
var body: some View {

ZStack() {
modalView(modalview: $modalview, userInput: userInput)

}.sheet(isPresented: $modalview) {

modalView(modalview: self.$modalview)

}

}

}


struct modalView : View {


@ObservedObject var durationTimer = TimerHolder()

@Binding var modalview : Bool
@State var userInput: String = ""


var body: some View {

VStack{

Button(action: {
self.modalview = true
}) {
TextField("Get Started", text:$userInput)
.background(Color.gray)
.foregroundColor(.white)
// .frame(width: 300, height: 250).cornerRadius(20)
}
Text("\(userInput.count)").alert(isPresented: self.$durationTimer.count) {
Alert(title: Text("Reminder"),
message: Text("You wrote"),
primaryButton: .default(Text("Yes"), action: { self.presentationMode.wrappedValue.dismiss()
print(123)
})
,
secondaryButton: .cancel(Text("No")))
}




}
}

}


class TimerHolder : ObservableObject {
var timer : Timer!


@Published var count = false

init(){
self.start()
}

func start() {
self.timer?.invalidate()
self.count = false
self.timer = Timer.scheduledTimer(withTimeInterval: 60, repeats: true) {
_ in
self.count = true
print(self.count)
}
}
}

关于ios - 我正在尝试制作一个计算 WPM 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59905167/

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