Xcode 无法使用2个以上的ForEach语句构建SwiftUI

Xcode 无法使用2个以上的ForEach语句构建SwiftUI,xcode,swiftui,Xcode,Swiftui,当我尝试使用SwiftUI构建Xcode项目时,收到以下错误 我得到的错误是“编译器无法在合理的时间内对该表达式进行类型检查;请尝试将该表达式拆分为不同的子表达式” 我试图消除代码的许多复杂性,以尽可能地简化它。我还尝试减少选择器的行数,以测试这是否是问题所在 struct ContentView: View { // set child name @State private var childName: String = "" // set the days of t

当我尝试使用SwiftUI构建Xcode项目时,收到以下错误

我得到的错误是“编译器无法在合理的时间内对该表达式进行类型检查;请尝试将该表达式拆分为不同的子表达式”

我试图消除代码的许多复杂性,以尽可能地简化它。我还尝试减少选择器的行数,以测试这是否是问题所在

struct ContentView: View {
    // set child name
    @State private var childName: String = ""
    // set the days of the week
    let daysOfWeek = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]

    // set empty
    @State private var selectedAttendance: String = ""
    let attendance = ["None", "All Day", "AM", "PM"]
    @State private var mondayAttendance = 0
    @State private var tuesdayAttendance = 0
    @State private var wednesdayAttendance = 0
    @State private var thursdayAttendance = 0
    @State private var fridayAttendance = 0

    @State private var selectedProvider = 0
    let providers = ["School 1", "School 2", "School 3", "School 4", "School 5"]

    var body: some View {
        NavigationView {
            Form {
                Section(header: Text("Your Child's Details")) {
                    TextField("Name", text: $childName)
                }

                // PICKER to choose childcare provider
                Section(header: Text("Who looks after your child?")) {
                    Picker("Childcare Provider", selection: $selectedProvider) {
                        ForEach(0 ..< providers.count) {
                            Text("\(self.providers[$0])")
                        }
                    }
                }


                Section(header: Text("Which days does your child attend?")) {
                    VStack {

                        // Monday
                        HStack {
                            Text("Monday")
                                .dayOfWeek()
                            Picker("Monday", selection: $mondayAttendance) {
                                ForEach(0 ..< 4) {
                                    Text("\(self.attendance[$0])")
                                }
                            }
                            .pickerStyle(SegmentedPickerStyle())
                        }

                        // Tuesday
                        HStack {
                            Text("Tuesday")
                                .dayOfWeek()
                            Picker("Tuesday", selection: $tuesdayAttendance) {
                                ForEach(0 ..< 4) {
                                    Text("\(self.attendance[$0])")
                                }
                            }
                            .pickerStyle(SegmentedPickerStyle())
                        }
//
//                        // Wednesday
//                        HStack {
//                            Text("Wednesday")
//                                .dayOfWeek()
//                            Picker("Wednesday", selection: $wednesdayAttendance) {
//                                ForEach(0 ..< 4) {
//                                    Text("\(self.attendance[$0])")
//                                }
//                            }
//                            .pickerStyle(SegmentedPickerStyle())
//                        }


                    }


                }

            }
            .navigationBarTitle("Your Child")
        }

    }
}
struct ContentView:View{
//设置子名称
@国家私有变量childName:String=“”
//设定一周中的几天
let daysOfWeek=[“周一”、“周二”、“周三”、“周四”、“周五”]
//置空
@状态私有变量selectedAttendance:String=“”
让出席人数=[“无”、“全天”、“上午”、“下午”]
@国家私有变量MondayAttention=0
@国家私有变量TuesdayAttention=0
@国营私营部门var WednesdayAttention=0
@国家私有变量thursdayAttendance=0
@国家私有变量FridayaAttendance=0
@状态私有变量selectedProvider=0
let提供者=[“学校1”、“学校2”、“学校3”、“学校4”、“学校5”]
var body:一些观点{
导航视图{
形式{
部分(标题:文本(“您孩子的详细信息”)){
TextField(“Name”,text:$childName)
}
//选择托儿所提供者的选择器
部分(标题:文本(“谁照看您的孩子?”){
选择器(“儿童保育提供者”,选择:$selectedProvider){
ForEach(0..
当我试着用“星期一”和“星期二”来制作时,效果很好。一旦我取消周三(或更长时间)的注释,构建就会失败,我就会得到错误

我知道我需要简化代码,但它已经很简单了,我不知道下一步该怎么做


非常感谢您的任何帮助。

这与每个人的
无关。其中是附加到文本的
dayOfWeek()
的定义。它应该返回一个视图。即使每个
都有一个
,它也应该失败,就像它有
dayOfWeek()
一样。可能您的应用程序中已经定义了该修饰符。

谢谢-我已经在单独的swift文件中定义了
dayOfWeek()
,因为这是文本格式。它实际上只声明了一个宽度,它为我使用了三个
ForEach
语句。您可能可以共享
dayOfWeek
。我还使用了XCode的
版本11.2.1(11B53)
。我多次遇到这个问题。这不一定是线路发生故障时,才是问题所在。问题可能在另一行中。我还没有找到答案,但已转到使用列表视图,该视图更改了填充数据的方式。它现在起作用了。也许我以后还会有这个问题。