---
title: PHAsset
framework: photos
role: symbol
role_heading: Class
path: photos/phasset
---

# PHAsset

A representation of an image, video, or Live Photo in the Photos library.

## Declaration

```swift
class PHAsset
```

## Mentioned in

Fetching Objects and Requesting Changes Requesting Changes to the Photo Library Displaying Live Photos Fetching Assets

## Overview

Overview You fetch assets to begin working with them. Use the class methods listed in Fetching Assets to retrieve one or more PHAsset instances representing the assets you want to display or edit. Assets contain only metadata. The underlying image or video data for any given asset might not be stored on the local device. However, depending on how you plan to use this data, you may not need to download all of it. If you need to populate a collection view with thumbnail images, the Photos framework can manage downloading, generating, and caching thumbnails for each asset. For details, see PHImageManager. Asset objects are immutable. To edit an asset’s metadata (such as marking it as a favorite photo), create a PHAssetChangeRequest object within a photo library change block. For more details on using change requests and change blocks to update the photo library, see PHPhotoLibrary.

## Topics

### Fetching Assets

- [Fetching Assets](photokit/fetching-assets.md)
- [fetchAssets(in:options:)](photos/phasset/fetchassets(in:options:).md)
- [fetchAssets(with:options:)](photos/phasset/fetchassets(with:options:).md)
- [fetchAssets(withLocalIdentifiers:options:)](photos/phasset/fetchassets(withlocalidentifiers:options:).md)
- [fetchKeyAssets(in:options:)](photos/phasset/fetchkeyassets(in:options:).md)
- [fetchAssets(with:)](photos/phasset/fetchassets(with:).md)
- [fetchAssets(withBurstIdentifier:options:)](photos/phasset/fetchassets(withburstidentifier:options:).md)
- [fetchAssets(withALAssetURLs:options:)](photos/phasset/fetchassets(withalasseturls:options:).md)

### Reading Asset Metadata

- [contentType](photos/phasset/contenttype.md)
- [mediaType](photos/phasset/mediatype.md)
- [PHAssetMediaType](photos/phassetmediatype.md)
- [mediaSubtypes](photos/phasset/mediasubtypes.md)
- [PHAssetMediaSubtype](photos/phassetmediasubtype.md)
- [sourceType](photos/phasset/sourcetype.md)
- [PHAssetSourceType](photos/phassetsourcetype.md)
- [pixelWidth](photos/phasset/pixelwidth.md)
- [pixelHeight](photos/phasset/pixelheight.md)
- [addedDate](photos/phasset/addeddate.md)
- [creationDate](photos/phasset/creationdate.md)
- [modificationDate](photos/phasset/modificationdate.md)
- [location](photos/phasset/location.md)
- [duration](photos/phasset/duration.md)
- [isFavorite](photos/phasset/isfavorite.md)
- [isHidden](photos/phasset/ishidden.md)
- [hasAdjustments](photos/phasset/hasadjustments.md)
- [adjustmentFormatIdentifier](photos/phasset/adjustmentformatidentifier.md)
- [isSyncFailureHidden](photos/phasset/issyncfailurehidden.md)

### Displaying an Asset

- [playbackStyle](photos/phasset/playbackstyle-swift.property.md)
- [PHAsset.PlaybackStyle](photos/phasset/playbackstyle-swift.enum.md)

### Editing an Asset

- [Editing Asset Content](photokit/editing-asset-content.md)
- [PHContentEditingInput](photos/phcontenteditinginput.md)
- [PHContentEditingOutput](photos/phcontenteditingoutput.md)
- [PHAdjustmentData](photos/phadjustmentdata.md)
- [PHContentEditingInputRequestOptions](photos/phcontenteditinginputrequestoptions.md)
- [PHLivePhotoEditingContext](photos/phlivephotoeditingcontext.md)
- [PHLivePhotoFrame](photos/phlivephotoframe.md)
- [canPerform(_:)](photos/phasset/canperform(_:).md)
- [PHAssetEditOperation](photos/phasseteditoperation.md)
- [requestContentEditingInput(with:completionHandler:)](photos/phasset/requestcontenteditinginput(with:completionhandler:).md)
- [cancelContentEditingInputRequest(_:)](photos/phasset/cancelcontenteditinginputrequest(_:).md)
- [PHContentEditingInputRequestID](photos/phcontenteditinginputrequestid.md)
- [Editing Request Info Keys](photokit/editing-request-info-keys.md)

### Working with Burst Photo Assets

- [burstIdentifier](photos/phasset/burstidentifier.md)
- [burstSelectionTypes](photos/phasset/burstselectiontypes.md)
- [PHAssetBurstSelectionType](photos/phassetburstselectiontype.md)
- [representsBurst](photos/phasset/representsburst.md)

### Instance Properties

- [adjustmentTimestamp](photos/phasset/adjustmenttimestamp.md)
- [adjustmentsState](photos/phasset/adjustmentsstate-swift.property.md)
- [originalResourceChoice](photos/phasset/originalresourcechoice-swift.property.md)
- [rating](photos/phasset/rating-swift.property.md)

### Enumerations

- [PHAsset.AdjustmentsState](photos/phasset/adjustmentsstate-swift.enum.md)
- [PHAsset.OriginalResourceChoice](photos/phasset/originalresourcechoice-swift.enum.md)
- [PHAsset.Rating](photos/phasset/rating-swift.enum.md)

## Relationships

### Inherits From

- [PHObject](photos/phobject.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Asset retrieval

- [Fetching Objects and Requesting Changes](photokit/fetching-objects-and-requesting-changes.md)
- [PHAssetCollection](photos/phassetcollection.md)
- [PHCollection](photos/phcollection.md)
- [PHCollectionList](photos/phcollectionlist.md)
- [PHObject](photos/phobject.md)
- [PHFetchResult](photos/phfetchresult.md)
- [PHFetchOptions](photos/phfetchoptions.md)
