Contents

fileMover(isPresented:file:onCompletion:)

Presents a system dialog for allowing the user to move an existing file to a new location.

Declaration

nonisolated func fileMover(isPresented: Binding<Bool>, file: URL?, onCompletion: @escaping (Result<URL, any Error>) -> Void) -> some View

Parameters

  • isPresented:

    A binding to whether the dialog should be shown.

  • file:

    The URL of the file to be moved.

  • onCompletion:

    A callback that will be invoked when the operation has has succeeded or failed. To access the received URLs, call startAccessingSecurityScopedResource. When the access is no longer required, call stopAccessingSecurityScopedResource.

    result

    A Result indicating whether the operation succeeded or failed.

Discussion

In order for the dialog to appear, both isPresented must be true and file must not be nil. When the operation is finished, isPresented will be set to false before onCompletion is called. If the user cancels the operation, isPresented will be set to false and onCompletion will not be called.

To further configure the dialog’s appearance and behavior, use these view modifiers: fileDialogDefaultDirectory(_:), fileDialogConfirmationLabel(_:), fileDialogMessage(_:), fileDialogBrowserOptions(_:), fileDialogURLEnabled(_:), fileDialogImportsUnresolvedAliases(_:), and fileDialogCustomizationID(_:).

See Also

Moving a file