---
title: PHCollectionList
framework: photos
role: symbol
role_heading: Class
path: photos/phcollectionlist
---

# PHCollectionList

A group containing Photos asset collections, such as Moments, Years, or folders of user-created albums.

## Declaration

```swift
class PHCollectionList
```

## Mentioned in

Fetching Objects and Requesting Changes Requesting Changes to the Photo Library

## Overview

Overview In the Photos framework, collection objects (including asset collections) do not directly reference their member objects, and there are no other objects that directly reference collection objects. To retrieve the members of a collection list, fetch them with a PHCollection class method such as fetchCollections(in:options:). To find objects at the root of the collection list hierarchy (such as album folders with no parent folders), use the fetchTopLevelUserCollections(with:) method. important: Accessing or modifying the Photos library requires explicit authorization from the user. The first time you call one of the methods listed in the Fetching Collection Lists group, Photos automatically prompts the user for authorization. (Alternatively, you can use the PHPhotoLibrary requestAuthorization(_:) method to prompt the user at a time of your choosing.) Your app’s Info.plist file must provide a value for the NSPhotoLibraryUsageDescription key that explains to the user why your app is requesting Photos access. Apps linked on or after iOS 10.0 will crash if this key is not present. Like assets and asset collections, collection lists are immutable. To create, rename, or delete collection lists, or to add, remove, or rearrange members in a collection list, create a PHCollectionListChangeRequest object within a photo library change block. For details on using change requests and change blocks to update the photo library, see PHPhotoLibrary.

## Topics

### Fetching Collection Lists

- [fetchCollectionListsContaining(_:options:)](photos/phcollectionlist/fetchcollectionlistscontaining(_:options:).md)
- [fetchCollectionLists(withLocalIdentifiers:options:)](photos/phcollectionlist/fetchcollectionlists(withlocalidentifiers:options:).md)
- [fetchCollectionLists(with:subtype:options:)](photos/phcollectionlist/fetchcollectionlists(with:subtype:options:).md)
- [fetchMomentLists(with:containingMoment:options:)](photos/phcollectionlist/fetchmomentlists(with:containingmoment:options:).md)
- [fetchMomentLists(with:options:)](photos/phcollectionlist/fetchmomentlists(with:options:).md)

### Reading Collection List Metadata

- [collectionListType](photos/phcollectionlist/collectionlisttype.md)
- [PHCollectionListType](photos/phcollectionlisttype.md)
- [collectionListSubtype](photos/phcollectionlist/collectionlistsubtype.md)
- [PHCollectionListSubtype](photos/phcollectionlistsubtype.md)
- [startDate](photos/phcollectionlist/startdate.md)
- [endDate](photos/phcollectionlist/enddate.md)
- [localizedLocationNames](photos/phcollectionlist/localizedlocationnames.md)

### Creating Temporary Collection Lists

- [transientCollectionList(with:title:)](photos/phcollectionlist/transientcollectionlist(with:title:).md)
- [transientCollectionList(withCollectionsFetchResult:title:)](photos/phcollectionlist/transientcollectionlist(withcollectionsfetchresult:title:).md)

## Relationships

### Inherits From

- [PHCollection](photos/phcollection.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Asset retrieval

- [Fetching Objects and Requesting Changes](photokit/fetching-objects-and-requesting-changes.md)
- [PHAsset](photos/phasset.md)
- [PHAssetCollection](photos/phassetcollection.md)
- [PHCollection](photos/phcollection.md)
- [PHObject](photos/phobject.md)
- [PHFetchResult](photos/phfetchresult.md)
- [PHFetchOptions](photos/phfetchoptions.md)
