Appintent and swiftdata

Hi,

I'm new to Swift development and encountering an issue that I believe may be due to an error on my part.

I have two questions regarding the following code:

import AppIntents
import SwiftUI
import SwiftData

@available(iOS 17.0, *)
struct CopiarEventoIntent: AppIntent {
    @Environment(\.modelContext) private var context

    @Parameter(title: "Nome do Evento")
    var name: String
    @Parameter(title: "Data Inicial")
    var datai: Date
    @Parameter(title: "Data Final")
    var dataf: Date
    @Parameter(title: "Tipo de Evento")
    var tipo: String
    @Parameter(title: "Endereço")
    var endereco: String
    @Parameter(title: "Lembrete")
    var reminder: Bool
    
    static var title: LocalizedStringResource = "Adicionar Eventos"
    static var description = IntentDescription("Copiar Eventos e alterar datas", resultValueName: "Resultado")
    
    @MainActor
    func perform() async throws -> some IntentResult & ProvidesDialog {
        
        let calData = CalData(title: name, datei: datai, datef: dataf, tipo: tipo, endereco: endereco,reminder: reminder)
        
        context.insert(calData)
        
        
        return .result(dialog:  "Evento copiado com sucesso!")
    }
}


@available(iOS 15.0, *)
struct AppShortcuts: AppShortcutsProvider {
    static var appShortcuts: [AppShortcut] {
        AppShortcut(
            intent: CopiarEventoIntent(),
            phrases: [
                "Copiar Evento"
            ],
            shortTitle: "Copiar Evento",
            systemImageName: "square.and.arrow.down"
        )
    }
}

@available(iOS 15.0, *)
struct ShortcutSelectionView: View {
    @Environment(\.modelContext) private var context
    @Query(sort: \CalData.title) private var caldatas: [CalData]
    @State private var selectedEvent: CalData?
    
    var body: some View {
        List(caldatas, id: \.self) { eventData in
            Button(action: {
                selectedEvent = eventData
                handleEventSelection()
            }) {
                Text(eventData.title)
            }
        }
    }
    
    private func handleEventSelection() {
        guard selectedEvent != nil else { return }
    }
}

When I run the shortcut, gives me the following error:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot insert 'CalData' in this managed object context because it is not found in the associated managed object model.

I attempted to save this using SwiftData with the following model:

import SwiftData

@Model
class CalData {
    var title : String
    var datei : Date
    var datef : Date
    var tipo : String
    var endereco : String
    @Relationship(deleteRule: .cascade) var caldataval = [CalDataVal]()
    var reminder: Bool = false
    
    init(title:String, datei:Date, datef:Date, tipo:String, endereco:String, reminder:Bool){
        self.title = title
        self.datei = datei
        self.datef = datef
        self.tipo = tipo
        self.endereco = endereco
        self.reminder = reminder
    }
}

As for the second question, how can I add a parameter that can have multiple values to save them to EventDataVal, resembling a one-to-many relationship:

import SwiftData

@Model
class CalDataVal {
    var name : String
    var value : Double

    
    
    
    init(name:String, value:Double){
        self.name = name
        self.value = value

    }
}

Thanks in advanced

Appintent and swiftdata
 
 
Q