ForEach
在TabView
withPageTabViewStyle
修饰符中使用时,这是一个非常具体的问题。
每次我在数组的开头插入一个元素时,我的应用程序都会崩溃。
我得到一个
尝试从更新前仅包含 11 个项目的第 0 节中删除第 11 项
错误。
在画布中它也崩溃了。
最后的常规附加工作正常,当我删除 PageTabViewStyle 修饰符时它也可以工作。
让我知道我是否需要详细说明或是否有问题。
更新:我似乎在 iOS 15 中这个问题已经修复并且我的代码有效。我仍然希望找到 iOS 14 的解决方法。
我用一个简单的单页应用程序重现了这个问题:
import SwiftUI
struct SwiftUIView: View {
@State var myArray: [String] = ["C", "D", "E", "F", "G"]
var body: some View {
VStack {
Button("Insert before", action: {
myArray.insert("A", at: 0)
})
TabView {
ForEach(myArray, id: \.self) { value in
Text("\(value)")
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
}
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}