---
title: KeyPathComparator
framework: foundation
role: symbol
role_heading: Structure
path: foundation/keypathcomparator
---

# KeyPathComparator

A comparator that uses another sort comparator to provide the comparison of values at a key path.

## Declaration

```swift
struct KeyPathComparator<Compared>
```

## Topics

### Using Key Path Comparators

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

### Inspecting Key Path Comparators

- [keyPath](foundation/keypathcomparator/keypath.md)
- [order](foundation/keypathcomparator/order.md)

### Initializers

- [init(_:comparator:)](foundation/keypathcomparator/init(_:comparator:)-8b13q.md)
- [init(_:comparator:)](foundation/keypathcomparator/init(_:comparator:)-284rt.md)
- [init(_:comparator:order:)](foundation/keypathcomparator/init(_:comparator:order:)-749jk.md)
- [init(_:comparator:order:)](foundation/keypathcomparator/init(_:comparator:order:)-3gjxd.md)
- [init(_:order:)](foundation/keypathcomparator/init(_:order:)-6r8gw.md)
- [init(_:order:)](foundation/keypathcomparator/init(_:order:)-4hyoi.md)

## Relationships

### Conforms To

- [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)
- [SortDescriptor](foundation/sortdescriptor.md)
- [SortComparator](foundation/sortcomparator.md)
- [ComparableComparator](foundation/comparablecomparator.md)
- [SortOrder](foundation/sortorder.md)
