swiftui - SwiftUI 动态选项卡视图
问题描述
我试图显示一个动态页面选项卡视图,但它在没有错误代码的情况下一直崩溃。当标签视图数量减少时发生崩溃。我找不到我的代码有什么问题。所以我在示例项目中进行了测试,但它仍然相同。在示例项目中,当我单击 3 然后单击其他数字时没有问题,但是当我再次单击 3 并滚动选项卡视图时,它会崩溃。这是我的示例项目。
struct ContentView: View {
@ObservedObject var dataClass = DataClass()
var body: some View {
VStack(){
List{
ForEach(3..<6){ i in
Text("\(i)")
.onTapGesture {
self.dataClass.load(num: i)
}
}
}
if dataClass.data.count != 0{
TabView{
ForEach(dataClass.data.indices, id: \.self){ i in
Text(dataClass.data[i].alp)
}
}.tabViewStyle(PageTabViewStyle())
.padding(.horizontal)
.background(Color.red)
}
}
}
}
class DataClass : ObservableObject {
@Published var data : [DataStruct] = [DataStruct]()
init() {
}
func load(num : Int){
if num == 3 {
data = [DataStruct(num: 1, alp: "a"), DataStruct(num: 2, alp: "b"), DataStruct(num: 3, alp: "c")]
}
if num == 4 {
data = [DataStruct(num: 4, alp: "d"), DataStruct(num: 5, alp: "e"), DataStruct(num: 6, alp: "f"), DataStruct(num: 7, alp: "g")]
}
if num == 5 {
data = [DataStruct(num: 8, alp: "h"), DataStruct(num: 9, alp: "i"), DataStruct(num: 10, alp: "j"), DataStruct(num: 11, alp: "k")]
}
}
}
struct DataStruct {
var num : Int
var alp : String
}
解决方案
推荐阅读
- python - 生成比其他字符串大的随机字符串
- python-3.x - 当我运行此代码时,我收到 TypeError:您能指导我采取什么步骤吗
- python - 如何在一个 div 中返回同一跨度的多个实例?
- postgresql - 即使“listen_addresses = '*'”,PostgreSQL 也会给我“连接被拒绝”
- reactjs - React - 将一个属性拆分为两个
- fullcalendar - 从源代码构建 fullcalendar-scheduler
- c# - 除非按下 Enter,否则 DataGridViewComboBoxColumn 不会保存到数据源
- r - 如何将变量添加到文件路径
- ios - Flutter iOS 热重启崩溃[__NSCFString setStreamHandler:]:无法识别的选择器
- java - 进入全屏后,libGDX 停止捕捉光标