---
title: UIDataSourceTranslating
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uidatasourcetranslating
---

# UIDataSourceTranslating

An advanced interface for managing a data source object.

## Declaration

```swift
@MainActor protocol UIDataSourceTranslating : NSObjectProtocol
```

## Overview

Overview Use the methods of this protocol to map between the positions of items and sections in your data source object and the positions of those same items and sections in your presented layout. Objects that adopt this protocol do so because the position of items in their data source object don’t always match the corresponding positions in their presented layout. UITableView and UICollectionView adopt this protocol and use it in conjunction with drag and drop operations. For example, UITableView must account for the presence of placeholder cells, which appear as rows in the table but don’t have a corresponding entry in the data source object. Typically, you don’t adopt this protocol in your own classes.

## Topics

### Managing item positions

- [presentationIndexPath(forDataSourceIndexPath:)](uikit/uidatasourcetranslating/presentationindexpath(fordatasourceindexpath:).md)
- [dataSourceIndexPath(forPresentationIndexPath:)](uikit/uidatasourcetranslating/datasourceindexpath(forpresentationindexpath:).md)

### Managing section positions

- [presentationSectionIndex(forDataSourceSectionIndex:)](uikit/uidatasourcetranslating/presentationsectionindex(fordatasourcesectionindex:).md)
- [dataSourceSectionIndex(forPresentationSectionIndex:)](uikit/uidatasourcetranslating/datasourcesectionindex(forpresentationsectionindex:).md)

### Performing actions

- [performUsingPresentationValues(_:)](uikit/uidatasourcetranslating/performusingpresentationvalues(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [UICollectionView](uikit/uicollectionview.md)
- [UITableView](uikit/uitableview.md)

## See Also

### Drag and drop

- [Supporting Drag and Drop in Collection Views](uikit/supporting-drag-and-drop-in-collection-views.md)
- [UICollectionViewDragDelegate](uikit/uicollectionviewdragdelegate.md)
- [UICollectionViewDropDelegate](uikit/uicollectionviewdropdelegate.md)
- [UICollectionViewDropCoordinator](uikit/uicollectionviewdropcoordinator.md)
- [UICollectionViewDropPlaceholder](uikit/uicollectionviewdropplaceholder.md)
- [UICollectionViewDropProposal](uikit/uicollectionviewdropproposal.md)
- [UICollectionViewDropItem](uikit/uicollectionviewdropitem.md)
- [UICollectionViewDropPlaceholderContext](uikit/uicollectionviewdropplaceholdercontext.md)
- [UICollectionViewPlaceholder](uikit/uicollectionviewplaceholder.md)
