---
title: HistoryDescriptor
framework: swiftdata
role: symbol
role_heading: Structure
path: swiftdata/historydescriptor
---

# HistoryDescriptor

A type that describes the criteria, and, optionally, sort order, to use when fetching history data

## Declaration

```swift
struct HistoryDescriptor<TransactionType> where TransactionType : HistoryTransaction
```

## Topics

### Creating a descriptor

- [init(predicate:)](swiftdata/historydescriptor/init(predicate:).md)
- [init(predicate:sortBy:)](swiftdata/historydescriptor/init(predicate:sortby:).md)

### Getting the descriptor configuration

- [fetchLimit](swiftdata/historydescriptor/fetchlimit.md)
- [predicate](swiftdata/historydescriptor/predicate.md)
- [sortBy](swiftdata/historydescriptor/sortby.md)

## See Also

### Model life cycle

- [ModelContainer](swiftdata/modelcontainer.md)
- [ModelContext](swiftdata/modelcontext.md)
- [Fetching and filtering time-based model changes](swiftdata/fetching-and-filtering-time-based-model-changes.md)
- [Deleting persistent data from your app](swiftdata/deleting-persistent-data-from-your-app.md)
- [Reverting data changes using the undo manager](swiftdata/reverting-data-changes-using-the-undo-manager.md)
- [Syncing model data across a person’s devices](swiftdata/syncing-model-data-across-a-persons-devices.md)
- [Concurrency support](swiftdata/concurrencysupport.md)
