---
title: CSSearchableIndexDelegate
framework: corespotlight
role: symbol
role_heading: Protocol
path: corespotlight/cssearchableindexdelegate
---

# CSSearchableIndexDelegate

A protocol that defines methods a delegate object or app extension uses to handle communication from the on-device index.

## Declaration

```swift
protocol CSSearchableIndexDelegate : NSObjectProtocol
```

## Mentioned in

Regenerating your app’s indexes on demand

## Overview

Overview The CSSearchableIndexDelegate protocol defines methods that a delegate object or an app extension can use to handle communication from the on-device index. Apps that are long-running or that perform batch updates to the index should implement the required methods of this protocol in either a delegate object or an app extension. The index delegate methods are called when there is an issue with the index and more information is needed from an app. For example, the methods can be called when the entire index is lost or there was a failure to process data for some identifiers.

## Topics

### Updating the index

- [searchableIndex(_:reindexAllSearchableItemsWithAcknowledgementHandler:)](corespotlight/cssearchableindexdelegate/searchableindex(_:reindexallsearchableitemswithacknowledgementhandler:).md)
- [searchableIndex(_:reindexSearchableItemsWithIdentifiers:acknowledgementHandler:)](corespotlight/cssearchableindexdelegate/searchableindex(_:reindexsearchableitemswithidentifiers:acknowledgementhandler:).md)
- [searchableItemsDidUpdate(_:)](corespotlight/cssearchableindexdelegate/searchableitemsdidupdate(_:).md)

### Providing data for an item

- [searchableItems(forIdentifiers:searchableItemsHandler:)](corespotlight/cssearchableindexdelegate/searchableitems(foridentifiers:searchableitemshandler:).md)
- [searchableItems(forIdentifiers:protectionClass:searchableItemsHandler:)](corespotlight/cssearchableindexdelegate/searchableitems(foridentifiers:protectionclass:searchableitemshandler:).md)
- [data(for:itemIdentifier:typeIdentifier:)](corespotlight/cssearchableindexdelegate/data(for:itemidentifier:typeidentifier:).md)
- [fileURL(for:itemIdentifier:typeIdentifier:inPlace:)](corespotlight/cssearchableindexdelegate/fileurl(for:itemidentifier:typeidentifier:inplace:).md)

### Monitoring Spotlight status

- [searchableIndexDidThrottle(_:)](corespotlight/cssearchableindexdelegate/searchableindexdidthrottle(_:).md)
- [searchableIndexDidFinishThrottle(_:)](corespotlight/cssearchableindexdelegate/searchableindexdidfinishthrottle(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [CSIndexExtensionRequestHandler](corespotlight/csindexextensionrequesthandler.md)

## See Also

### Indexes

- [Generating summary and priority data for indexed items](corespotlight/generating-summary-and-priority-data-for-indexed-items.md)
- [CSSearchableIndex](corespotlight/cssearchableindex.md)
- [CSSearchableIndexDescription](corespotlight/cssearchableindexdescription.md)
