Instance Method

replaceChildCollections(at:withChildCollections:)

Replaces the child collections at the specified indexes in the collection list with the specified collections.

Declaration

func replaceChildCollections(at indexes: IndexSet, withChildCollections collections: NSFastEnumeration)

Parameters

indexes

The indexes of the child collections to be replaced in the collection list.

collections

An array of PHCollection objects (asset collections or other collection lists) to be inserted into (or moved within) the collection list.

Discussion

To ensure that the index set you specify is valid even if the collection list has changed since you fetched it, create a change request with a snapshot of the collection list’s contents using the init(for:childCollections:) method before rearranging child collections.

See Also

Modifying Collection Lists

init?(for: PHCollectionList)

Creates a request for modifying the specified collection list.

init?(for: PHCollectionList, childCollections: PHFetchResult<PHCollection>)

Creates a request for modifying the specified collection list, with a fetch result for tracking changes.

var title: String

The displayed name of the collection list.

func addChildCollections(NSFastEnumeration)

Add the specified collections as children of the collection list.

func insertChildCollections(NSFastEnumeration, at: IndexSet)

Inserts the specified collections into the collection list at the specified indexes.

func removeChildCollections(NSFastEnumeration)

Removes the specified child collections from the collection list.

func removeChildCollections(at: IndexSet)

Removes the child collections at the specified indexes from the collection list.

func moveChildCollections(at: IndexSet, to: Int)

Moves the child collections at the specified indexes in the collection list to a new index.