---
title: NSCollectionViewUpdateItem
framework: appkit
role: symbol
role_heading: Class
path: appkit/nscollectionviewupdateitem
---

# NSCollectionViewUpdateItem

A description of a single change to make to an item in a collection view.

## Declaration

```swift
@MainActor class NSCollectionViewUpdateItem
```

## Overview

Overview You do not create instances of this class directly. When updating its content, the collection view object creates them and passes them to the layout object’s prepare(forCollectionViewUpdates:) method, which can use them to prepare for the upcoming changes.

## Topics

### Accessing the Item Changes

- [indexPathBeforeUpdate](appkit/nscollectionviewupdateitem/indexpathbeforeupdate.md)
- [indexPathAfterUpdate](appkit/nscollectionviewupdateitem/indexpathafterupdate.md)
- [updateAction](appkit/nscollectionviewupdateitem/updateaction.md)
- [NSCollectionView.UpdateAction](appkit/nscollectionview/updateaction.md)
- [NSCollectionView.ScrollDirection](appkit/nscollectionview/scrolldirection.md)

### Constants

- [NSCollectionView.UpdateAction](appkit/nscollectionview/updateaction.md)

## Relationships

### Inherits From

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

### Conforms To

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

## See Also

### Updates

- [NSCollectionViewLayoutInvalidationContext](appkit/nscollectionviewlayoutinvalidationcontext.md)
- [NSCollectionViewFlowLayoutInvalidationContext](appkit/nscollectionviewflowlayoutinvalidationcontext.md)
