modelContext.insert works but modelContext.delete will do nothing in any view that is not my Content View. In my ContentView modelContext works fine, but if present the DetailReminderView() in any view that is not my ContentView, the adding to the modelContext works fine, but not deleting it (no error message, and the button does everything else correctly)
//
// ReminderDetailView.swift
// Always Remember
//
// Created by Friedrich Vorländer on 11.04.24.
//
import SwiftData
import SwiftUI
struct ReminderDetailView: View {
@Environment(.modelContext) var modelContext
@Environment(.dismiss) var dismiss
@State var allReminders: [Reminder]
var reminder: Reminder
var isntAdded: Bool {
!allReminders.contains { $0.phrase == reminder.phrase }
}
var body: some View {
NavigationStack {
ScrollView {
VStack(alignment: .trailing){
ReminderView(reminder: reminder, allReminders: allReminders)
.frame(maxWidth: .infinity, maxHeight: 500)
ShareLinkView(reminder: reminder)
}
}
.padding()
.navigationTitle(reminder.author)
.navigationBarTitleDisplayMode(.inline)
.toolbar {
ToolbarItem(placement: .destructiveAction) {
Button("Delete", systemImage: "trash", role: .destructive) {
modelContext.delete(reminder)
/*allReminders.removeAll{ $0.phrase == reminder.phrase }*/
print("Button Pressed")
dismiss()
}
.disabled(isntAdded)
}
ToolbarItem(placement: .confirmationAction) {
Button("Add to Reminder", systemImage: "plus.circle") {
modelContext.insert(reminder)
dismiss()
}
.disabled(!isntAdded)
}
}
}
}
}
I tried removing the object from my array that gets passed on from the content view query, to the DetailView, but that didn’t help