<!--
{
  "availability" : [
    "iOS: 3.0.0 -",
    "iPadOS: 3.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MediaPlayer",
  "identifier" : "/documentation/MediaPlayer/MPMediaItemCollection",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Media Player"
    ],
    "preciseIdentifier" : "c:objc(cs)MPMediaItemCollection"
  },
  "title" : "MPMediaItemCollection"
}
-->

# MPMediaItemCollection

A sorted set of media items from the media library.

```
class MPMediaItemCollection
```

## Overview

Typically, you use this class by requesting an array of [`collections`](/documentation/MediaPlayer/MPMediaQuery/collections) from a media query by way of its collections property. [`MPMediaQuery`](/documentation/MediaPlayer/MPMediaQuery) describes media queries.

The grouping type for the media query determines the arrangement of the media items you obtain. You also use the media query [`collections`](/documentation/MediaPlayer/MPMediaQuery/collections) property to obtain synced playlists, as described in [`MPMediaPlaylist`](/documentation/MediaPlayer/MPMediaPlaylist).

A media item collection can have a wide range of metadata associated with it. You access this metadata using the [`value(forProperty:)`](/documentation/MediaPlayer/MPMediaEntity/value(forProperty:)) method along with the property keys described in this document. You can also access metadata in a batch fashion using the [`enumerateValues(forProperties:using:)`](/documentation/MediaPlayer/MPMediaEntity/enumerateValues(forProperties:using:)) method. In some cases, this is more efficient. [`MPMediaEntity`](/documentation/MediaPlayer/MPMediaEntity) defines and describes both of these methods.

## Topics

### Creating a media item collection

[`+  collectionWithItems:`](/documentation/MediaPlayer/MPMediaItemCollection/collectionWithItems:)

Creates a media item collection by copying an array of media items.

[`-  initWithItems:`](/documentation/MediaPlayer/MPMediaItemCollection/init(items:))

Initializes a media item collection with an array of media items.

### Using a media item collection

[`items`](/documentation/MediaPlayer/MPMediaItemCollection/items)

The media items in a media item collection.

[`representativeItem`](/documentation/MediaPlayer/MPMediaItemCollection/representativeItem)

A media item whose properties are representative of the other media items in a collection.

[`count`](/documentation/MediaPlayer/MPMediaItemCollection/count)

The number of media items in a collection.

[`mediaTypes`](/documentation/MediaPlayer/MPMediaItemCollection/mediaTypes)

The types of the media items in a collection.

## Relationships

### Conforms To

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`MPMediaEntity`](/documentation/MediaPlayer/MPMediaEntity)

### Inherited By

[`MPMediaPlaylist`](/documentation/MediaPlayer/MPMediaPlaylist)

---

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)