---
title: PHProjectTypeDescriptionDataSource
framework: photosui
role: symbol
role_heading: Protocol
path: photosui/phprojecttypedescriptiondatasource
---

# PHProjectTypeDescriptionDataSource

A protocol that you use to provide the project with type description data.

## Declaration

```swift
protocol PHProjectTypeDescriptionDataSource : NSObjectProtocol
```

## Overview

Overview An object adheres to this protocol to provide a type description for your app’s Photos project extension. You must implement this protocol to provide subtypes, a description, and footer text. You can optionally respond to the system discarding the data source by implementing extensionWillDiscardDataSource().

## Topics

### Providing Required Fields

- [subtypes(for:)](photosui/phprojecttypedescriptiondatasource/subtypes(for:).md)
- [typeDescription(for:)](photosui/phprojecttypedescriptiondatasource/typedescription(for:).md)
- [footerText(forSubtypesOf:)](photosui/phprojecttypedescriptiondatasource/footertext(forsubtypesof:).md)

### Responding to Removal

- [extensionWillDiscardDataSource()](photosui/phprojecttypedescriptiondatasource/extensionwilldiscarddatasource().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Determining Project Type

- [projectType](photosui/phprojectinfo/projecttype.md)
- [PHProjectType](photosui/phprojecttype.md)
- [creationSource](photosui/phprojectinfo/creationsource-swift.property.md)
- [sections](photosui/phprojectinfo/sections.md)
- [PHProjectTypeDescription](photosui/phprojecttypedescription.md)
- [PHProjectTypeDescriptionInvalidator](photosui/phprojecttypedescriptioninvalidator.md)
- [PHProjectInfo.CreationSource](photosui/phprojectinfo/creationsource-swift.enum.md)
