<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.0.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Foundation",
  "identifier" : "/documentation/Foundation/NSArray/sortedArray(using:)-82wi1",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Foundation"
    ],
    "preciseIdentifier" : "c:objc(cs)NSArray(im)sortedArrayUsingDescriptors:"
  },
  "title" : "sortedArray(using:)"
}
-->

# sortedArray(using:)

Returns a copy of the receiving array sorted as specified by a given array of sort descriptors.

```
func sortedArray(using sortDescriptors: [NSSortDescriptor]) -> [Any]
```

## Parameters

`sortDescriptors`

An array of `NSSortDescriptor` objects.

## Return Value

A copy of the receiving array sorted as specified by `sortDescriptors`.

## Discussion

The first descriptor specifies the primary key path to be used in sorting the receiving array’s contents. Any subsequent descriptors are used to further refine sorting of objects with duplicate values. See [`NSSortDescriptor`](/documentation/Foundation/NSSortDescriptor) for additional information.

---

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)