"Extra trailing closure passed in call" Error while passing multiple bindings

310 Views Asked by At

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?

1

There are 1 best solutions below

0
kuncan On

It looks like you have some logic that is outside the scope of the Task and Sheet modifiers. Specifically this code:

{ wrapper in
  ErrorView(errorWrapper: wrapper)
}