I am creating a simple Taskmanager for a schoolproject similar to apple's scrumdinger. I created two filesafer for each struct. But if I try to pass them further I always get the error "Extra trailing closure passed in call". Can someone help me?
import SwiftUI
@main
struct Aufgaben_ManagerApp: App {
//@State private var tasks = MyTask.sampleData
//@State private var categories = Category.sampleData
@StateObject private var storeTask = TaskStore()
@StateObject private var storeCategory = CategoryStore()
@State private var errorWrapper: ErrorWrapper?
var body: some Scene {
WindowGroup {
NavigationView {
MainView(tasks: $storeTask.tasks, categories: $storeCategory.categories) {
Task {
do {
try await TaskStore.save(tasks: storeTask.tasks)
//try await CategoryStore.save(categories: storeCategory.categories)
} catch {
errorWrapper = ErrorWrapper(error: error, guidance: "Try again later.")
}
}
}
}
.task {
do {
storeTask.tasks = try await TaskStore.load()
// storeCategory.categories = try await CategoryStore.load()
} catch {
errorWrapper = ErrorWrapper(error: error, guidance: "TaskManager will load sample data and continue.")
}
}
.sheet(item: $errorWrapper, onDismiss: {
storeTask.tasks = MyTask.sampleData
// storeCategory.categories = Category.sampleData
}) { wrapper in
ErrorView(errorWrapper: wrapper)
}
}
}
}
It looks like the problem is further down the road. Maybe that the MainView cant accept the Bindings?
It looks like you have some logic that is outside the scope of the
TaskandSheetmodifiers. Specifically this code: