SwiftUI从窗体中删除项目导致崩溃

时间:2020-11-02 13:35:42

标签: swift xcode swiftui

我有一个Date()数组,在我的Form中可以向该数组追加更多日期。

 @State private var dates: [Date] = [Date()]

但是当我尝试删除日期时,它会导致崩溃。 Index out of range。我只剩下1个日期时就禁止删除,所以这不是问题,因为此时您无法删除。

Section(header: Text("Notifications")) {
                ForEach(dates, id: \.self) { date in
                
                    let value = dates.firstIndex(of: date)!
                    
                    DatePicker("\(value + 1)", selection: $dates[value], displayedComponents: .hourAndMinute)
                    
                
                }.onDelete(perform: { (offsets) in
                    dates.remove(atOffsets: offsets)
                })
                .deleteDisabled(dates.count <= 1)
                   
                Button(action: {
                    
                    dates.append(Date())
                    
                }, label: {
                    Text("Add Notification")
                }).disabled(dates.count == 10)
            }

为什么会崩溃?

0 个答案:

没有答案