调用中缺少参数 '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
}
}
我有一个可观察对象:
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
}
}