---
title: SortDescriptor
framework: foundation
role: symbol
role_heading: Structure
path: foundation/sortdescriptor
---

# SortDescriptor

A serializable description of how to sort numerics and strings.

## Declaration

```swift
struct SortDescriptor<Compared>
```

## Topics

### Creating Sort Descriptors

- [init(_:comparing:)](foundation/sortdescriptor/init(_:comparing:).md)

### Using Sort Descriptors

- [compare(_:_:)](foundation/sortdescriptor/compare(_:_:).md)

### Inspecting Sort Descriptors

- [order](foundation/sortdescriptor/order.md)

### Initializers

- [init(_:comparator:)](foundation/sortdescriptor/init(_:comparator:)-16bsg.md)
- [init(_:comparator:)](foundation/sortdescriptor/init(_:comparator:)-1xorc.md)
- [init(_:comparator:)](foundation/sortdescriptor/init(_:comparator:)-7vg3x.md)
- [init(_:comparator:)](foundation/sortdescriptor/init(_:comparator:)-9m8l9.md)
- [init(_:comparator:order:)](foundation/sortdescriptor/init(_:comparator:order:)-2ouai.md)
- [init(_:comparator:order:)](foundation/sortdescriptor/init(_:comparator:order:)-4qaip.md)
- [init(_:comparator:order:)](foundation/sortdescriptor/init(_:comparator:order:)-76h8b.md)
- [init(_:comparator:order:)](foundation/sortdescriptor/init(_:comparator:order:)-pz7l.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-1t1a5.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-29e6k.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-29pto.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-2u61k.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-3fgjr.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-3iwfh.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-3wlt2.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-3wozy.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-49ozr.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-4b7jd.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-4doe9.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-4uo4r.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-4z0c9.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-51msp.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-52see.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-5lbot.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-5myfn.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-5s8d4.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-5y1wt.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-7rdjb.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-86gfd.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-8flg7.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-8jc9k.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-8tm2c.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-95o7r.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-9noh7.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-9xg3w.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-ks7r.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-kwgp.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-qlnj.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-rnot.md)
- [init(_:order:)](foundation/sortdescriptor/init(_:order:)-z7th.md)

### Instance Properties

- [keyPath](foundation/sortdescriptor/keypath.md)
- [stringComparator](foundation/sortdescriptor/stringcomparator.md)

## Relationships

### Conforms To

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SortComparator](foundation/sortcomparator.md)

## See Also

### Sorting

- [NSSortDescriptor](foundation/nssortdescriptor.md)
- [ComparisonResult](foundation/comparisonresult.md)
- [SortComparator](foundation/sortcomparator.md)
- [ComparableComparator](foundation/comparablecomparator.md)
- [KeyPathComparator](foundation/keypathcomparator.md)
- [SortOrder](foundation/sortorder.md)
