<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: -",
    "macOS: 10.13.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "PhotoKit",
  "identifier" : "/documentation/Photos/PHChange/changeDetails(for:)-2fne7",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Photos"
    ],
    "preciseIdentifier" : "s:So8PHChangeC6PhotosE13changeDetails3forSo019PHFetchResultChangeD0CyxGSgSo0fG0CyxG_tSo8PHObjectCRbzlF"
  },
  "title" : "changeDetails(for:)"
}
-->

# changeDetails(for:)

Returns detailed change information for a fetch result.

```
func changeDetails<T>(for fetchResult: PHFetchResult<T>) -> PHFetchResultChangeDetails<T>? where T : PHObject
```

## Parameters

`fetchResult`

A Photos fetch result.

## Return Value

A change details object, or `nil` if there have been no changes affecting the fetch result’s contents.

## Discussion

When Photos calls your change observer’s [`photoLibraryDidChange(_:)`](/documentation/Photos/PHPhotoLibraryChangeObserver/photoLibraryDidChange(_:)) method, call this [`changeDetails(for:)`](/documentation/Photos/PHChange/changeDetails(for:)-2fne7) method to get detailed change information about the results of a fetch you’ve previously performed. If there have been any changes in the Photos library affecting the fetch, the resulting [`PHFetchResultChangeDetails`](/documentation/Photos/PHFetchResultChangeDetails) object tells you if any contents in the fetch result have been added, removed, or changed since you fetched it. If there have been no changes since you performed the fetch, this method returns `nil`.

Typically, if your app displays the members of a collection (such as an album or moment), you use a method such as [`fetchAssets(in:options:)`](/documentation/Photos/PHAsset/fetchAssets(in:options:)) to retrieve those members and then keep the resulting [`PHFetchResult`](/documentation/Photos/PHFetchResult) object. You can then pass that fetch result to this method to learn about changes to the collection, such as whether new members have been added to it (and which indexes to insert them at in your UI).

To find out about changes to an object’s properties, such as a collection’s title or an asset’s metadata, use the [`changeDetails(for:)`](/documentation/Photos/PHChange/changeDetails(for:)-536rd) method.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)