---
title: UIActivityItemSource
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uiactivityitemsource
---

# UIActivityItemSource

A set of methods that an activity view controller uses to retrieve the data items to act on.

## Declaration

```swift
protocol UIActivityItemSource : NSObjectProtocol
```

## Overview

Overview You can use this protocol in situations where you want to provide the data from one of your app’s existing objects instead of creating a separate UIActivityItemProvider object. When implementing this protocol, your object becomes the data provider, providing the view controller with access to the items. Because the methods of this protocol are executed on your app’s main thread, you should avoid using this protocol in cases where the data objects might take a significant amount of time to create. When creating large data objects, consider using a UIActivityItemProvider object instead.

## Topics

### Getting the data items

- [activityViewControllerPlaceholderItem(_:)](uikit/uiactivityitemsource/activityviewcontrollerplaceholderitem(_:).md)
- [activityViewController(_:itemForActivityType:)](uikit/uiactivityitemsource/activityviewcontroller(_:itemforactivitytype:).md)

### Providing information about the data items

- [activityViewController(_:subjectForActivityType:)](uikit/uiactivityitemsource/activityviewcontroller(_:subjectforactivitytype:).md)
- [activityViewController(_:dataTypeIdentifierForActivityType:)](uikit/uiactivityitemsource/activityviewcontroller(_:datatypeidentifierforactivitytype:).md)
- [activityViewController(_:thumbnailImageForActivityType:suggestedSize:)](uikit/uiactivityitemsource/activityviewcontroller(_:thumbnailimageforactivitytype:suggestedsize:).md)

### Providing metadata for accelerated previews

- [activityViewControllerLinkMetadata(_:)](uikit/uiactivityitemsource/activityviewcontrollerlinkmetadata(_:).md)

### Instance Methods

- [activityViewControllerShareRecipients(_:)](uikit/uiactivityitemsource/activityviewcontrollersharerecipients(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [UIActivityItemProvider](uikit/uiactivityitemprovider.md)

## See Also

### Services

- [UIActivity](uikit/uiactivity.md)
- [UIActivityViewController](uikit/uiactivityviewcontroller.md)
- [UIActivityItemProvider](uikit/uiactivityitemprovider.md)
