---
title: "deleteItem(withIdentifier:completionHandler:)"
framework: fileprovider
role: symbol
role_heading: Instance Method
path: "fileprovider/nsfileproviderextension/deleteitem(withidentifier:completionhandler:)"
---

# deleteItem(withIdentifier:completionHandler:)

Permanently deletes an item from the trash.

## Declaration

```swift
func deleteItem(withIdentifier itemIdentifier: NSFileProviderItemIdentifier, completionHandler: @escaping @Sendable ((any Error)?) -> Void)
```

```swift
func deleteItem(withIdentifier itemIdentifier: NSFileProviderItemIdentifier) async throws
```

## Parameters

- `itemIdentifier`: The item’s persistent identifier.
- `completionHandler`: A block that takes the following parameters:

## Discussion

Discussion important: You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration: func deleteItem(withIdentifier itemIdentifier: NSFileProviderItemIdentifier) async throws For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously. This method is called when the user deletes an item from the trash. Override this method to remove the item from the working set and delete it from disk (if necessary). The item should no longer be accessible. Your implementation should return immediately. Call the completion handler before performing any network activity or other long-running tasks. Defer these tasks to the background. The user’s ability to delete an item is controlled by the item’s allowsDeleting capability.

## See Also

### Handling actions

- [Providing support for user-driven actions](fileprovider/providing-support-for-user-driven-actions.md)
- [createDirectory(withName:inParentItemIdentifier:completionHandler:)](fileprovider/nsfileproviderextension/createdirectory(withname:inparentitemidentifier:completionhandler:).md)
- [importDocument(at:toParentItemIdentifier:completionHandler:)](fileprovider/nsfileproviderextension/importdocument(at:toparentitemidentifier:completionhandler:).md)
- [renameItem(withIdentifier:toName:completionHandler:)](fileprovider/nsfileproviderextension/renameitem(withidentifier:toname:completionhandler:).md)
- [reparentItem(withIdentifier:toParentItemWithIdentifier:newName:completionHandler:)](fileprovider/nsfileproviderextension/reparentitem(withidentifier:toparentitemwithidentifier:newname:completionhandler:).md)
- [setFavoriteRank(_:forItemIdentifier:completionHandler:)](fileprovider/nsfileproviderextension/setfavoriterank(_:foritemidentifier:completionhandler:).md)
- [setLastUsedDate(_:forItemIdentifier:completionHandler:)](fileprovider/nsfileproviderextension/setlastuseddate(_:foritemidentifier:completionhandler:).md)
- [setTagData(_:forItemIdentifier:completionHandler:)](fileprovider/nsfileproviderextension/settagdata(_:foritemidentifier:completionhandler:).md)
- [trashItem(withIdentifier:completionHandler:)](fileprovider/nsfileproviderextension/trashitem(withidentifier:completionhandler:).md)
- [untrashItem(withIdentifier:toParentItemIdentifier:completionHandler:)](fileprovider/nsfileproviderextension/untrashitem(withidentifier:toparentitemidentifier:completionhandler:).md)
