<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macOS: 11.3.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "FileProvider",
  "identifier" : "/documentation/FileProvider/NSFileProviderPendingSetEnumerator",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "File Provider"
    ],
    "preciseIdentifier" : "c:objc(pl)NSFileProviderPendingSetEnumerator"
  },
  "title" : "NSFileProviderPendingSetEnumerator"
}
-->

# NSFileProviderPendingSetEnumerator

A protocol for enumerating pending items.

```
protocol NSFileProviderPendingSetEnumerator : NSFileProviderEnumerator
```

## Overview

Items are pending when they’ve changed but the File Provider extension hasn’t yet synced the changes. Examples include local changes that the extension hasn’t uploaded to its remote storage and items that the extension has marked as changed in the working set but hasn’t yet downloaded. The system calls [`pendingItemsDidChange(completionHandler:)`](/documentation/FileProvider/NSFileProviderReplicatedExtension/pendingItemsDidChange(completionHandler:)) and posts a [`NSFileProviderPendingSetDidChange`](/documentation/FileProvider/NSFileProviderPendingSetDidChange) notification whenever the set of pending items changes.

To enumerate items in the pending set, call the [`enumeratorForPendingItems()`](/documentation/FileProvider/NSFileProviderManager/enumeratorForPendingItems()) method, which returns an object that adopts the [`NSFileProviderPendingSetEnumerator`](/documentation/FileProvider/NSFileProviderPendingSetEnumerator) protocol.

The pending enumerator lists the items that meet all of the following criteria:

- The system observed a change, either on disk or in the working set.
- The change occurred more than one second ago.
- The File Provider extension hasn’t yet synced the change with its remote storage.

An item can appear in the pending set for many different reasons, including:

- The system is under load and can’t process all the events in a timely manner.
- The system is performing a long-running operation on the item, such as downloading or uploading new content.
- Pending changes to the item have raised an error.

The pending set only contains items that are already known to the File Provider extension and that remain queued for change longer than the system’s refresh interval. A new file in the local storage won’t appear in the pending set, even if the upload to the remote storage takes several minutes to complete.

## Topics

### Accessing Refresh Data

[`domainVersion`](/documentation/FileProvider/NSFileProviderPendingSetEnumerator/domainVersion)

The domain version when the system last refreshed the pending set.

[`refreshInterval`](/documentation/FileProvider/NSFileProviderPendingSetEnumerator/refreshInterval)

The amount of time, in seconds, between updates to the pending set.

### Instance Properties

[`isMaximumSizeReached`](/documentation/FileProvider/NSFileProviderPendingSetEnumerator/isMaximumSizeReached)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)