---
title: TransferRepresentation
framework: coretransferable
role: symbol
role_heading: Protocol
path: coretransferable/transferrepresentation
---

# TransferRepresentation

A declarative description of the process of importing and exporting a transferable item.

## Declaration

```swift
protocol TransferRepresentation<Item> : Sendable
```

## Overview

Overview Combine multiple existing transfer representations to compose a single transfer representation that describes how to transfer an item in multiple scenarios. The following shows a Greeting type that transfers both as a Codable type and by proxy through its message string. import UniformTypeIdentifiers

struct Greeting: Codable, Transferable {     let message: String     var displayInAllCaps: Bool = false

static var transferRepresentation: some TransferRepresentation {         CodableRepresentation(contentType: .greeting)         ProxyRepresentation(exporting: \.message)     } }

extension UTType {     static let greeting = UTType(exportedAs: "com.example.greeting") }

## Topics

### Implementing a transfer representation

- [body](coretransferable/transferrepresentation/body-swift.property.md)
- [Body](coretransferable/transferrepresentation/body-swift.associatedtype.md)
- [Item](coretransferable/transferrepresentation/item.md)

### Configuring exports

- [exportingCondition(_:)](coretransferable/transferrepresentation/exportingcondition(_:).md)

### Controlling visibility

- [visibility(_:)](coretransferable/transferrepresentation/visibility(_:).md)

### Instance Methods

- [suggestedFileName(_:)](coretransferable/transferrepresentation/suggestedfilename(_:)-2yln2.md)
- [suggestedFileName(_:)](coretransferable/transferrepresentation/suggestedfilename(_:)-47rg0.md)

## Relationships

### Inherits From

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [CodableRepresentation](coretransferable/codablerepresentation.md)
- [DataRepresentation](coretransferable/datarepresentation.md)
- [FileRepresentation](coretransferable/filerepresentation.md)
- [ProxyRepresentation](coretransferable/proxyrepresentation.md)
- [TupleTransferRepresentation](coretransferable/tupletransferrepresentation.md)

## See Also

### Essentials

- [Transferable](coretransferable/transferable.md)
- [Choosing a transfer representation for a model type](coretransferable/choosing-a-transfer-representation-for-a-model-type.md)
