调用中缺少参数 'language'、'date' 的参数

Missing arguments for parameters 'language', 'date' in call

我有一个可观察对象:

class Schedule: ObservableObject {
    @Published var language: Language?
    @Published var date = Date()

    init(language: Language, date: Date) {
        self.language = language
        self.date = date
    }
}

哪些用户创建了使用这个的数据:

struct AddScheduleView: View {
    
    @StateObject var schedule = Schedule() ***Missing arguments for parameters 'language', 'date' in call***
    
    @Environment(\.managedObjectContext) private var viewContext
    @FetchRequest(entity: Language.entity(), sortDescriptors: []) var languages: FetchedResults<Language>
    
    var body: some View {
        GeometryReader { geometry in
            HStack {
                VStack {
                    Text("What to learn:")
                        .foregroundColor(.white)
                        .fontWeight(.bold)
                        .opacity(0.8)
                        .font(.system(size: 12))
                        .frame(width: geometry.size.width / 4, height: 12, alignment: .topLeading)
                        .padding()
                    Picker("Choose a language", selection: $schedule.language) { ***Generic parameter 'SelectionValue' could not be inferred***
                        ForEach(languages, id:\.self) {
                            Text("\([=13=].name ?? "Unknown")")
                        }
                    }
                    .frame(width: 100, height: 500, alignment: .topLeading)
                    .padding()
                }
                Spacer()
                VStack {
                    Text("When to learn:")
                        .foregroundColor(.white)
                        .fontWeight(.bold)
                        .opacity(0.8)
                        .font(.system(size: 12))
                        .frame(width: geometry.size.width / 4, height: 12, alignment: .topTrailing)
                        .padding()
                    DatePicker(selection: $schedule.date, in: ...Date()) {
                    }
                    .frame(width: 100, height: 500, alignment: .topTrailing)
                    .padding()
                }
            }
        }
    }
}

我在带有 @StateObject 的行的 * 中收到错误消息。我不明白的是为什么我应该将一个参数传递给对 Schedule 的调用,而我没有任何东西可以传递给它。用户正在从语言和日期选择器生成数据。第一个选择器的行也会发生错误,但第二个不会。

init中提供默认值,如

class Schedule: ObservableObject {
    @Published var language: Language?
    @Published var date: Date

    init(language: Language? = nil, date: Date = Date()) {   // << here !!
        self.language = language
        self.date = date
    }
}