---
title: PHObject
framework: photos
role: symbol
role_heading: Class
path: photos/phobject
---

# PHObject

The abstract superclass for Photos model objects (assets and collections).

## Declaration

```swift
class PHObject
```

## Overview

Overview You do not create or use instances of this class directly. Instead, work with instances of its concrete subclasses—PHAsset, PHAssetCollection, PHCollectionList, and PHObjectPlaceholder. Because the PHObject class implements the isEqual(_:) and hash methods in terms of its localIdentifier property, you can use techniques that depend on these methods to keep track of asset and collection objects.

## Topics

### Identifying an Object

- [localIdentifier](photos/phobject/localidentifier.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [PHAsset](photos/phasset.md)
- [PHAssetResourceUploadJob](photos/phassetresourceuploadjob.md)
- [PHCollection](photos/phcollection.md)
- [PHObjectPlaceholder](photos/phobjectplaceholder.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)
- [PHAsset](photos/phasset.md)
- [PHAssetCollection](photos/phassetcollection.md)
- [PHCollection](photos/phcollection.md)
- [PHCollectionList](photos/phcollectionlist.md)
- [PHFetchResult](photos/phfetchresult.md)
- [PHFetchOptions](photos/phfetchoptions.md)
