ตั้งค่าตัวแปรของรัฐต้องเริ่มต้นค่า xcode

0

คำถาม

อะไรคือหนทางที่ดีที่สุดที่จะเข้าไปเรื่อง resetting รัฐตัวแปรใช้ปุ่ม. ฉันพยายามเป็นโหลที่แตกต่างกัน funcs แต่ไม่มีใครทำงาน

ฉันกำลังพยายามใช้ปุ่มนี้:

primaryButton: .destructive(Text("Delete")) {

Code

},secondaryButton: 
.cancel()

เพื่อปรับค่าพวกนี้รัฐตัวแปร:

@State var statsValue1 = 0 
@State var statsValue2 = 0 
@State var statsValue3 = 0 
@State var statsValue4 = 0 
@State var statsValue5 = 0 
@State var statsValue6 = 0

(ซึ่งอยู่ในหลักของเนื้อหาของมุมมอง)

button reset state swiftui
2021-11-22 07:58:47
1

คำตอบที่ดีที่สุด

0

แล้วใช้แสดงตัวอย่าง @Published ทรัพย์สิน wrapper notifies เรื่องอะไรเปลี่ยนแปลงของนางแบบและ reset ฟังก์ชันสร้างใหม่อย่างเช่น

struct Model {
    var value1 = 0
    var value2 = 0
    var value3 = 0
}

class ViewModel : ObservableObject {
    @Published var model = Model()
    
    func reset() {
        model = Model()
    }
}

และง่ายๆแบบทดสอบตรรกะอยู่ในเนื้อหาของมุมมอง

struct ContentView : View {
    
    @StateObject var viewModel = ViewModel()
    
    var body : some View {
        VStack(spacing: 20) {
            Text("Value 1: \(viewModel.model.value1)")
            Text("Value 2: \(viewModel.model.value2)")
            Text("Value 3: \(viewModel.model.value3)")
            Divider()
            Button ( "Delete", role: .destructive, action: viewModel.reset )
            Button { viewModel.model.value1 += 1 } label: { Text("Increment value 1") }
            Button { viewModel.model.value2 += 1 } label: { Text("Increment value 2") }
            Button { viewModel.model.value3 += 1 } label: { Text("Increment value 3") }
        }
    }
}
2021-11-22 08:31:14

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่