相关疑难解决方法(0)

删除行时SwiftUI ForEach索引超出范围错误

我有一个ForEach块和一个Stepper嵌入在List视图中。List视图第一部分的内容如下:

ForEach(record.nodes.indices, id: \.self) { index in
    HStack {
        TextField("X", text: self.$record.nodes[index].xString)
        Spacer()
        Divider()
        TextField("Y", text: self.$record.nodes[index].yString)
        Spacer()
    }
}
Stepper("± node", onIncrement: {
    self.record.nodes.append(Node(x: 0, y: 0))
}, onDecrement: {
    self.record.nodes.removeLast()
})
Run Code Online (Sandbox Code Playgroud)

我面临的问题是,在调用 时self.record.nodes.removeLast(),应用程序因Index out of range错误而崩溃。我一直试图解决这个问题几个小时,但无济于事。

我最初使用onDelete,但是产生了同样的问题。

该项目可以在https://github.com/jacobcxdev/Timekeeper找到,此错误发生在RecordDetailView.swift 中

ios swift swiftui

8
推荐指数
2
解决办法
4329
查看次数

切换列表中的选择 - SwiftUI

我希望我能清楚地解释我的问题。

我想通过切换从列表中选择一些课程,但无论我尝试过什么,它都不起作用。

我应该做些什么?

感谢您的时间。最好的,穆拉特

struct SubjectCardsView: View {
    // MARK: - Properties
    @State var courses: [Course] = Bundle.main.decode("courses.json")
    
    @State private var toggle: Bool = false
    
    // MARK: - Body
    var body: some View {
        
        NavigationView {
            
            List {
                
                ForEach(courses) { course in
                    Section(header: Text(course.title).font(.system(size: 15, weight: .medium, design: .rounded)).foregroundColor(.blue)) {
                        ForEach(course.courseName, id: \.name) { item  in
                            Toggle(isOn: $toggle, label: {
                                Text(item.name)
                            })
                            
                        }
                    }
                }
            }
            
            .listStyle(InsetGroupedListStyle())
            .navigationBarTitle("Choose your subject", displayMode: .inline).font(.system(size: 16, weight: .medium, design: .rounded))
            .navigationBarItems(leading: Button(action: { …
Run Code Online (Sandbox Code Playgroud)

foreach toggle swift swiftui

1
推荐指数
1
解决办法
2542
查看次数

标签 统计

swift ×2

swiftui ×2

foreach ×1

ios ×1

toggle ×1