---
title: "dequeueReusableCell(withReuseIdentifier:for:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uicollectionview/dequeuereusablecell(withreuseidentifier:for:)"
---

# dequeueReusableCell(withReuseIdentifier:for:)

Dequeues a reusable cell object located by its identifier.

## Declaration

```swift
func dequeueReusableCell(withReuseIdentifier identifier: String, for indexPath: IndexPath) -> UICollectionViewCell
```

## Parameters

- `identifier`: The reuse identifier for the specified cell. This parameter must not be nil.
- `indexPath`: The index path specifying the location of the cell. The data source receives this information when it is asked for the cell and should just pass it along. This method uses the index path to perform additional configuration based on the cell’s position in the collection view.

## Return Value

Return Value A valid UICollectionReusableView object.

## Discussion

Discussion Call this method from your data source object when asked to provide a new cell for the collection view. This method dequeues an existing cell if one is available or creates a new one based on the class or nib file you previously registered. important: You must register a class or nib file using the register(_:forCellWithReuseIdentifier:) or register(_:forCellWithReuseIdentifier:) method before calling this method. If you registered a class for the specified identifier and a new cell must be created, this method initializes the cell by calling its init(frame:) method. For nib-based cells, this method loads the cell object from the provided nib file. If an existing cell was available for reuse, this method calls the cell’s prepareForReuse() method instead.

## See Also

### Creating cells

- [UICollectionView.CellRegistration](uikit/uicollectionview/cellregistration.md)
- [dequeueConfiguredReusableCell(using:for:item:)](uikit/uicollectionview/dequeueconfiguredreusablecell(using:for:item:).md)
- [register(_:forCellWithReuseIdentifier:)](uikit/uicollectionview/register(_:forcellwithreuseidentifier:)-3vaho.md)
- [register(_:forCellWithReuseIdentifier:)](uikit/uicollectionview/register(_:forcellwithreuseidentifier:)-6z6t4.md)
