Core data 缺少核心数据swiftUI参数的参数

Core data 缺少核心数据swiftUI参数的参数,core-data,swiftui,observedobject,Core Data,Swiftui,Observedobject,我已经创建了一个保存在核心数据中的客户列表。我通过AddView添加了一些属性,现在我尝试使用不同的视图添加新属性。为了做到这一点,我知道我需要使用observedObject属性包装器,这样它就不会创建新的客户机,而是更新现有的客户机。代码如下: import SwiftUI import CoreData struct TopicView: View { @Environment(\.managedObjectContext) var managedObjectContex

我已经创建了一个保存在核心数据中的客户列表。我通过AddView添加了一些属性,现在我尝试使用不同的视图添加新属性。为了做到这一点,我知道我需要使用observedObject属性包装器,这样它就不会创建新的客户机,而是更新现有的客户机。代码如下:

    import SwiftUI
import CoreData

struct TopicView: View {
   
@Environment(\.managedObjectContext) var managedObjectContext
let myStudent: StudentData
@ObservedObject var topic: StudentData
@State var content = ""
@State private var show = false

var body: some View {
    ZStack{
        RadialGradient(gradient: Gradient(colors: [.blue, .black]), center: .center, startRadius: 200, endRadius: 600)
            .ignoresSafeArea(.all)
        VStack{
    
    Text("My Students")
        .bold()
        .font(.system(size: 50, design: .rounded))
        .foregroundColor(.white)
        .padding(.top)
     Text("keep track of them")
        .italic()
        .foregroundColor(.white)
        .font(.system(size: 25, design:.serif))

    Image(systemName: "book")
    .resizable()
    .foregroundColor(.white)
    .frame(width: 80.0, height: 50.0)
        .padding(.bottom)
    }
}
                Section (header: Text("Topics covered")
                    .bold()
                    .padding(.all)
                    .font(.title3)) {
                    TextField("Add content", text: Binding(
                                get: { self.topic.content ?? ""},
                                set: { self.topic.content = $0 } )
                            )
                    //Text(topic.content ?? "")
            .padding()}
                    Button ("Save")
        { let newStudent = StudentData(context: self.managedObjectContext)
                        newStudent.content = self.topic.content
            try? self.managedObjectContext.save()
                        self.topic.content = ""
                    }.foregroundColor(.blue)
                    .cornerRadius(10)
                    .frame(width: 200, height: 50, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
                    .font(.headline)
          Spacer()
                        }
    
}

我从另一个视图(StudentView)推送Topicview,但是由于我添加了observedObject,它在StudentView中引发了以下错误:

我知道这很容易解决,但我在互联网上找不到太多信息。
谢谢

点击小圆圈。点击修复。您应该尝试一下所有这些都是非常基本的东西。我尝试按照修复通知的建议添加主题:StudentData,但错误仍然存在。我找不到任何需要的逻辑there@PaoloFarina您必须传递
StudentData
的实例,而不仅仅是类型
StudentData
。例如,在上面显示的代码中,
myStudent
topic
都是
StudentData
的实例。很难给出比这更多的建议,因为问题中包含的代码实际上没有发生错误。您需要传递初始值。显示工作表的视图应生成并将其作为参数/参数传递。嗨,谢谢你们。我通过了“主题:我的学生”考试,考试成功了。但是现在,每当我从视图中更改topic参数而不是从核心数据中编辑现有的参数时,它都会创建一个新学生。我不知道为什么。