Up

# NSCollectionView

### Authors

Doug Simons (doug.simons@testplant.com)

Copyright: (C) 2013, 2021 Free Software Foundation, Inc.

### Contents -

1. Software documentation for the NSCollectionView class
2. Software documentation for the NSCollectionViewDataSource protocol
3. Software documentation for the NSCollectionViewDelegate protocol
4. Software documentation for the NSCollectionViewElement protocol
5. Software documentation for the NSCollectionViewPrefetching protocol

# Software documentation for the NSCollectionView class

## NSCollectionView : NSView

> Declared in:
>   AppKit/NSCollectionView.h

Availability: OpenStep
Description forthcoming.

Instance Variables
Method summary

- -allowsEmptySelection
- -allowsMultipleSelection
- -backgroundColors
- -backgroundView
- -backgroundViewScrollsWithContent
- -collectionViewLayout
- -content
- -dataSource
- -delegate
- -deleteItemsAtIndexPaths:
- -deleteSections:
- -deselectAll:
- -deselectItemsAtIndexPaths:
- -draggingImageForItemsAtIndexes:withEvent:offset:
- -frameForItemAtIndex:
- -indexPathForItem:
- -indexPathForItemAtPoint:
- -indexPathsForVisibleItems
- -indexPathsForVisibleSupplementaryElementsOfKind:
- -insertItemsAtIndexPaths:
- -insertSections:
- -isSelectable
- -itemAtIndex:
- -itemAtIndexPath:
- -itemPrototype
- -layoutAttributesForItemAtIndexPath:
- -layoutAttributesForSupplementaryElementOfKind:atIndexPath:
- -makeItemWithIdentifier:forIndexPath:
- -makeSupplementaryViewOfKind:withIdentifier:forIndexPath:
- -maxItemSize
- -maxNumberOfColumns
- -maxNumberOfRows
- -minItemSize
- -moveItemAtIndexPath:toIndexPath:
- -moveSection:toSection:
- -newItemForRepresentedObject:
- -numberOfItemsInSection:
- -numberOfSections
- -performBatchUpdates:completionHandler:
- -prefetchDataSource
- -registerClass:forItemWithIdentifier:
- -registerClass:forSupplementaryViewOfKind:withIdentifier:
- -registerNib:forItemWithIdentifier:
- -registerNib:forSupplementaryViewOfKind:withIdentifier:
- -reloadData
- -reloadItemsAtIndexPaths:
- -reloadSections:
- -scrollToItemsAtIndexPaths:scrollPosition:
- -selectAll:
- -selectItemsAtIndexPaths:scrollPosition:
- -selectionIndexPaths
- -selectionIndexes
- -setAllowsEmptySelection:
- -setAllowsMultipleSelection:
- -setBackgroundColors:
- -setBackgroundView:
- -setBackgroundViewScrollsWithContent:
- -setCollectionViewLayout:
- -setContent:
- -setDataSource:
- -setDelegate:
- -setDraggingSourceOperationMask:forLocal:
- -setItemPrototype:
- -setMaxItemSize:
- -setMaxNumberOfColumns:
- -setMaxNumberOfRows:
- -setMinItemSize:
- -setPrefetchDataSource:
- -setSelectable:
- -setSelectionIndexPaths:
- -setSelectionIndexes:
- -supplementaryViewForElementKind:atIndexPath:
- -tile
- -toggleSectionCollapse:
- -visibleItems
- -visibleSupplementaryViewsOfKind:

### allowsEmptySelection

- (BOOL) allowsEmptySelection;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### allowsMultipleSelection

- (BOOL) allowsMultipleSelection;
Availability: OpenStep
Description forthcoming.

### backgroundColors

- (NSArray*) backgroundColors;
Availability: OpenStep
Description forthcoming.

### backgroundView

- (NSView*) backgroundView;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### backgroundViewScrollsWithContent

- (BOOL) backgroundViewScrollsWithContent;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### collectionViewLayout

- (NSCollectionViewLayout*) collectionViewLayout;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### content

- (NSArray*) content;
Availability: OpenStep
Description forthcoming.

### dataSource

- (id<NSCollectionViewDataSource>) dataSource;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### delegate

- (id<NSCollectionViewDelegate>) delegate;
Availability: OpenStep
Description forthcoming.

### deleteItemsAtIndexPaths:

- (void) deleteItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### deleteSections:

- (void) deleteSections: (NSIndexSet*)sections;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### deselectAll:

- (IBAction) deselectAll: (id)sender;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### deselectItemsAtIndexPaths:

- (void) deselectItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### draggingImageForItemsAtIndexes: withEvent: offset:

- (NSImage*) draggingImageForItemsAtIndexes: (NSIndexSet*)indexes withEvent: (NSEvent*)event offset: (NSPointPointer)dragImageOffset;
Availability: OpenStep
Description forthcoming.

### frameForItemAtIndex:

- (NSRect) frameForItemAtIndex: (NSUInteger)theIndex;
Availability: OpenStep
Description forthcoming.

### indexPathForItem:

- (NSIndexPath*) indexPathForItem: (NSCollectionViewItem*)item;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### indexPathForItemAtPoint:

- (NSIndexPath*) indexPathForItemAtPoint: (NSPoint)point;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### indexPathsForVisibleItems

- (NSSet*) indexPathsForVisibleItems;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### indexPathsForVisibleSupplementaryElementsOfKind:

- (NSSet*) indexPathsForVisibleSupplementaryElementsOfKind: (NSCollectionViewSupplementaryElementKind)elementKind;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### insertItemsAtIndexPaths:

- (void) insertItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### insertSections:

- (void) insertSections: (NSIndexSet*)sections;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### isSelectable

- (BOOL) isSelectable;
Availability: OpenStep
Description forthcoming.

### itemAtIndex:

- (NSCollectionViewItem*) itemAtIndex: (NSUInteger)index;
Availability: OpenStep
Description forthcoming.

### itemAtIndexPath:

- (NSCollectionViewItem*) itemAtIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### itemPrototype

- (NSCollectionViewItem*) itemPrototype;
Availability: OpenStep
Description forthcoming.

### layoutAttributesForItemAtIndexPath:

- (NSCollectionViewLayoutAttributes*) layoutAttributesForItemAtIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### layoutAttributesForSupplementaryElementOfKind: atIndexPath:

- (NSCollectionViewLayoutAttributes*) layoutAttributesForSupplementaryElementOfKind: (NSCollectionViewSupplementaryElementKind)kind atIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### makeItemWithIdentifier: forIndexPath:

- (NSCollectionViewItem*) makeItemWithIdentifier: (NSUserInterfaceItemIdentifier)identifier forIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### makeSupplementaryViewOfKind: withIdentifier: forIndexPath:

- (NSView*) makeSupplementaryViewOfKind: (NSCollectionViewSupplementaryElementKind)elementKind withIdentifier: (NSUserInterfaceItemIdentifier)identifier forIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### maxItemSize

- (NSSize) maxItemSize;
Availability: OpenStep
Description forthcoming.

### maxNumberOfColumns

- (NSUInteger) maxNumberOfColumns;
Availability: OpenStep
Description forthcoming.

### maxNumberOfRows

- (NSUInteger) maxNumberOfRows;
Availability: OpenStep
Description forthcoming.

### minItemSize

- (NSSize) minItemSize;
Availability: OpenStep
Description forthcoming.

### moveItemAtIndexPath: toIndexPath:

- (void) moveItemAtIndexPath: (NSIndexPath*)indexPath toIndexPath: (NSIndexPath*)newIndexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### moveSection: toSection:

- (void) moveSection: (NSInteger)section toSection: (NSInteger)newSection;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### newItemForRepresentedObject:

- (NSCollectionViewItem*) newItemForRepresentedObject: (id)object;
Availability: OpenStep
Description forthcoming.

### numberOfItemsInSection:

- (NSInteger) numberOfItemsInSection: (NSInteger)section;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### numberOfSections

- (NSInteger) numberOfSections;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### performBatchUpdates: completionHandler:

- (void) performBatchUpdates: (GSCollectionViewPerformBatchUpdatesBlock)updates completionHandler: (GSCollectionViewCompletionHandlerBlock)completionHandler;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### prefetchDataSource

- (id<NSCollectionViewPrefetching>) prefetchDataSource;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### registerClass: forItemWithIdentifier:

- (void) registerClass: (Class)itemClass forItemWithIdentifier: (NSUserInterfaceItemIdentifier)identifier;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### registerClass: forSupplementaryViewOfKind: withIdentifier:

- (void) registerClass: (Class)viewClass forSupplementaryViewOfKind: (NSCollectionViewSupplementaryElementKind)kind withIdentifier: (NSUserInterfaceItemIdentifier)identifier;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### registerNib: forItemWithIdentifier:

- (void) registerNib: (NSNib*)nib forItemWithIdentifier: (NSUserInterfaceItemIdentifier)identifier;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### registerNib: forSupplementaryViewOfKind: withIdentifier:

- (void) registerNib: (NSNib*)nib forSupplementaryViewOfKind: (NSCollectionViewSupplementaryElementKind)kind withIdentifier: (NSUserInterfaceItemIdentifier)identifier;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### reloadData

- (void) reloadData;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### reloadItemsAtIndexPaths:

- (void) reloadItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### reloadSections:

- (void) reloadSections: (NSIndexSet*)sections;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### scrollToItemsAtIndexPaths: scrollPosition:

- (void) scrollToItemsAtIndexPaths: (NSSet*)indexPaths scrollPosition: (NSCollectionViewScrollPosition)scrollPosition;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### selectAll:

- (IBAction) selectAll: (id)sender;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### selectItemsAtIndexPaths: scrollPosition:

- (void) selectItemsAtIndexPaths: (NSSet*)indexPaths scrollPosition: (NSCollectionViewScrollPosition)scrollPosition;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### selectionIndexPaths

- (NSSet*) selectionIndexPaths;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### selectionIndexes

- (NSIndexSet*) selectionIndexes;
Availability: OpenStep
Description forthcoming.

### setAllowsEmptySelection:

- (void) setAllowsEmptySelection: (BOOL)flag;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### setAllowsMultipleSelection:

- (void) setAllowsMultipleSelection: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### setBackgroundColors:

- (void) setBackgroundColors: (NSArray*)colors;
Availability: OpenStep
Description forthcoming.

### setBackgroundView:

- (void) setBackgroundView: (NSView*)backgroundView;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### setBackgroundViewScrollsWithContent:

- (void) setBackgroundViewScrollsWithContent: (BOOL)f;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### setCollectionViewLayout:

- (void) setCollectionViewLayout: (NSCollectionViewLayout*)layout;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### setContent:

- (void) setContent: (NSArray*)content;
Availability: OpenStep
Description forthcoming.

### setDataSource:

- (void) setDataSource: (id<NSCollectionViewDataSource>)dataSource;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### setDelegate:

- (void) setDelegate: (id<NSCollectionViewDelegate>)aDelegate;
Availability: OpenStep
Description forthcoming.

### setDraggingSourceOperationMask: forLocal:

- (void) setDraggingSourceOperationMask: (NSDragOperation)mask forLocal: (BOOL)isLocal;
Availability: OpenStep
Description forthcoming.

### setItemPrototype:

- (void) setItemPrototype: (NSCollectionViewItem*)prototype;
Availability: OpenStep
Description forthcoming.

### setMaxItemSize:

- (void) setMaxItemSize: (NSSize)size;
Availability: OpenStep
Description forthcoming.

### setMaxNumberOfColumns:

- (void) setMaxNumberOfColumns: (NSUInteger)number;
Availability: OpenStep
Description forthcoming.

### setMaxNumberOfRows:

- (void) setMaxNumberOfRows: (NSUInteger)number;
Availability: OpenStep
Description forthcoming.

### setMinItemSize:

- (void) setMinItemSize: (NSSize)size;
Availability: OpenStep
Description forthcoming.

### setPrefetchDataSource:

- (void) setPrefetchDataSource: (id<NSCollectionViewPrefetching>)prefetchDataSource;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### setSelectable:

- (void) setSelectable: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### setSelectionIndexPaths:

- (void) setSelectionIndexPaths: (NSSet*)paths;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### setSelectionIndexes:

- (void) setSelectionIndexes: (NSIndexSet*)indexes;
Availability: OpenStep
Description forthcoming.

### supplementaryViewForElementKind: atIndexPath:

- (NSView*) supplementaryViewForElementKind: (NSCollectionViewSupplementaryElementKind)elementKind atIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### tile

- (void) tile;
Availability: OpenStep
Description forthcoming.

### toggleSectionCollapse:

- (IBAction) toggleSectionCollapse: (id)sender;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### visibleItems

- (NSArray*) visibleItems;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### visibleSupplementaryViewsOfKind:

- (NSArray*) visibleSupplementaryViewsOfKind: (NSCollectionViewSupplementaryElementKind)elementKind;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

## Instance Variables for NSCollectionView Class

### _allowReload

@protected BOOL _allowReload;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _allowsEmptySelection

@protected BOOL _allowsEmptySelection;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _allowsMultipleSelection

@protected BOOL _allowsMultipleSelection;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _backgroundColors

@protected NSArray* _backgroundColors;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _backgroundView

@protected NSView* _backgroundView;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _backgroundViewScrollsWithContent

@protected BOOL _backgroundViewScrollsWithContent;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _collectionViewLayout

@protected NSCollectionViewLayout* _collectionViewLayout;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _content

@protected NSArray* _content;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _dataSource

@protected id _dataSource;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _delegate

@protected id _delegate;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _draggingOnIndex

@protected NSUInteger _draggingOnIndex;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _draggingOnRow

@protected NSUInteger _draggingOnRow;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _draggingSourceOperationMaskForLocal

@protected NSDragOperation _draggingSourceOperationMaskForLocal;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _draggingSourceOperationMaskForRemote

@protected NSDragOperation _draggingSourceOperationMaskForRemote;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _horizontalMargin

@protected CGFloat _horizontalMargin;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _indexPathsForSupplementaryElementsOfKind

@protected NSMutableSet* _indexPathsForSupplementaryElementsOfKind;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _indexPathsToItems

@protected NSMapTable* _indexPathsToItems;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _isSelectable

@protected BOOL _isSelectable;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _itemSize

@protected NSSize _itemSize;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _items

@protected NSMutableArray* _items;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _itemsToAttributes

@protected NSMapTable* _itemsToAttributes;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _itemsToIndexPaths

@protected NSMapTable* _itemsToIndexPaths;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _maxItemSize

@protected NSSize _maxItemSize;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _maxNumberOfColumns

@protected NSUInteger _maxNumberOfColumns;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _maxNumberOfRows

@protected NSUInteger _maxNumberOfRows;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _minItemSize

@protected NSSize _minItemSize;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _numberOfColumns

@protected NSUInteger _numberOfColumns;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _prefetchDataSource

@protected id _prefetchDataSource;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _registeredClasses

@protected NSMapTable* _registeredClasses;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _registeredNibs

@protected NSMapTable* _registeredNibs;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _selectionIndexPaths

@protected NSSet* _selectionIndexPaths;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _selectionIndexes

@protected NSIndexSet* _selectionIndexes;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _tileWidth

@protected CGFloat _tileWidth;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _verticalMargin

@protected CGFloat _verticalMargin;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _visibleItems

@protected NSMutableArray* _visibleItems;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _visibleSupplementaryViews

@protected NSMutableDictionary* _visibleSupplementaryViews;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### itemPrototype

@protected NSCollectionViewItem* itemPrototype;
Availability: OpenStep
Description forthcoming.

# Software documentation for the NSCollectionViewDataSource protocol

## NSCollectionViewDataSource

> Declared in:
>   AppKit/NSCollectionView.h

> Conforms to:
>   NSObject

Availability: Not in OpenStep/MacOS-X
Description forthcoming.
Method summary

- -collectionView:itemForRepresentedObjectAtIndexPath:
- -collectionView:numberOfItemsInSection:
- -collectionView:viewForSupplementaryElementOfKind:atIndexPath:
- -numberOfSectionsInCollectionView:

### collectionView: itemForRepresentedObjectAtIndexPath:

- (NSCollectionViewItem*) collectionView: (NSCollectionView*)collectionView itemForRepresentedObjectAtIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### collectionView: numberOfItemsInSection:

- (NSInteger) collectionView: (NSCollectionView*)collectionView numberOfItemsInSection: (NSInteger)section;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### collectionView: viewForSupplementaryElementOfKind: atIndexPath:

- (NSView*) collectionView: (NSCollectionView*)collectionView viewForSupplementaryElementOfKind: (NSCollectionViewSupplementaryElementKind)kind atIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### numberOfSectionsInCollectionView:

- (NSInteger) numberOfSectionsInCollectionView: (NSCollectionView*)collectionView;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

# Software documentation for the NSCollectionViewDelegate protocol

## NSCollectionViewDelegate

> Declared in:
>   AppKit/NSCollectionView.h

> Conforms to:
>   NSObject

Availability: OpenStep
Description forthcoming.
Method summary

- -collectionView:acceptDrop:index:dropOperation:
- -collectionView:acceptDrop:indexPath:dropOperation:
- -collectionView:canDragItemsAtIndexPaths:withEvent:
- -collectionView:canDragItemsAtIndexes:withEvent:
- -collectionView:didChangeItemsAtIndexPaths:toHighlightState:
- -collectionView:didDeselectItemsAtIndexPaths:
- -collectionView:didEndDisplayingItem:forRepresentedObjectAtIndexPath:
- -collectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:
- -collectionView:didSelectItemsAtIndexPaths:
- -collectionView:draggingImageForItemsAtIndexPaths:withEvent:offset:
- -collectionView:draggingImageForItemsAtIndexes:withEvent:offset:
- -collectionView:draggingSession:endedAtPoint:dragOperation:
- -collectionView:draggingSession:willBeginAtPoint:forItemsAtIndexPaths:
- -collectionView:draggingSession:willBeginAtPoint:forItemsAtIndexes:
- -collectionView:namesOfPromisedFilesDroppedAtDestination:forDraggedItemsAtIndexPaths:
- -collectionView:namesOfPromisedFilesDroppedAtDestination:forDraggedItemsAtIndexes:
- -collectionView:pasteboardWriterForItemAtIndex:
- -collectionView:pasteboardWriterForItemAtIndexPath:
- -collectionView:shouldChangeItemsAtIndexPaths:toHighlightState:
- -collectionView:shouldDeselectItemsAtIndexPaths:
- -collectionView:shouldSelectItemsAtIndexPaths:
- -collectionView:transitionLayoutForOldLayout:newLayout:
- -collectionView:updateDraggingItemsForDrag:
- -collectionView:validateDrop:proposedIndex:dropOperation:
- -collectionView:validateDrop:proposedIndexPath:dropOperation:
- -collectionView:willDisplayItem:forRepresentedObjectAtIndexPath:
- -collectionView:willDisplaySupplementaryView:forElementKind:atIndexPath:
- -collectionView:writeItemsAtIndexPaths:toPasteboard:
- -collectionView:writeItemsAtIndexes:toPasteboard:

### collectionView: acceptDrop: index: dropOperation:

- (BOOL) collectionView: (NSCollectionView*)collectionView acceptDrop: (id<NSDraggingInfo>)draggingInfo index: (NSInteger)index dropOperation: (NSCollectionViewDropOperation)dropOperation;
Availability: MacOS-X 10.6.0
Returns a BOOL to indicate if the drop at index was accepted

### collectionView: acceptDrop: indexPath: dropOperation:

- (BOOL) collectionView: (NSCollectionView*)collectionView acceptDrop: (id<NSDraggingInfo>)draggingInfo indexPath: (NSIndexPath*)indexPath dropOperation: (NSCollectionViewDropOperation)dropOperation;
Availability: Not in OpenStep/MacOS-X
Returns a BOOL to indicate if the drop at indexPath was accepted

### collectionView: canDragItemsAtIndexPaths: withEvent:

- (BOOL) collectionView: (NSCollectionView*)collectionView canDragItemsAtIndexPaths: (NSSet*)indexPaths withEvent: (NSEvent*)event;
Availability: Not in OpenStep/MacOS-X
Return a boolean indicating if the indexPaths on collectionView can be dragged with the passed in event.

### collectionView: canDragItemsAtIndexes: withEvent:

- (BOOL) collectionView: (NSCollectionView*)collectionView canDragItemsAtIndexes: (NSIndexSet*)indexes withEvent: (NSEvent*)event;
Availability: MacOS-X 10.6.0
Return a boolean indicating if the indexes on collectionView can be dragged with the passed in event.

### collectionView: didChangeItemsAtIndexPaths: toHighlightState:

- (void) collectionView: (NSCollectionView*)collectionView didChangeItemsAtIndexPaths: (NSSet*)indexPaths toHighlightState: (NSCollectionViewItemHighlightState)highlightState;
Availability: Not in OpenStep/MacOS-X
This is sent to inform the delegate of those items that did change highlightState.

### collectionView: didDeselectItemsAtIndexPaths:

- (void) collectionView: (NSCollectionView*)collectionView didDeselectItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Called to inform the delegate of those items that were deselected.

### collectionView: didEndDisplayingItem: forRepresentedObjectAtIndexPath:

- (void) collectionView: (NSCollectionView*)collectionView didEndDisplayingItem: (NSCollectionViewItem*)item forRepresentedObjectAtIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Called to inform the delegate that the collectionView will end display of item for the object at indexPath.

### collectionView: didEndDisplayingSupplementaryView: forElementOfKind: atIndexPath:

- (void) collectionView: (NSCollectionView*)collectionView didEndDisplayingSupplementaryView: (NSView*)view forElementOfKind: (NSCollectionViewSupplementaryElementKind)elementKind atIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Called to inform the delegate that the collectionView will end display of supplementaryView for the object at indexPath.

### collectionView: didSelectItemsAtIndexPaths:

- (void) collectionView: (NSCollectionView*)collectionView didSelectItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Called to inform the delegate of those items that were selected.

### collectionView: draggingImageForItemsAtIndexPaths: withEvent: offset:

- (NSImage*) collectionView: (NSCollectionView*)collectionView draggingImageForItemsAtIndexPaths: (NSSet*)indexPaths withEvent: (NSEvent*)event offset: (NSPointPointer)dragImageOffset;
Availability: Not in OpenStep/MacOS-X
Returns an NSImage representing the items at indexPaths which are being dragged.

### collectionView: draggingImageForItemsAtIndexes: withEvent: offset:

- (NSImage*) collectionView: (NSCollectionView*)collectionView draggingImageForItemsAtIndexes: (NSIndexSet*)indexes withEvent: (NSEvent*)event offset: (NSPointPointer)dragImageOffset;
Availability: MacOS-X 10.6.0
Returns an NSImage representing the items at indexes which are being dragged.

### collectionView: draggingSession: endedAtPoint: dragOperation:

- (void) collectionView: (NSCollectionView*)collectionView draggingSession: (NSDraggingSession*)session endedAtPoint: (NSPoint)screenPoint dragOperation: (NSDragOperation)operation;
Availability: OpenStep
Allows application to specify the screenPoint at which a dragging session did end

### collectionView: draggingSession: willBeginAtPoint: forItemsAtIndexPaths:

- (void) collectionView: (NSCollectionView*)collectionView draggingSession: (NSDraggingSession*)session willBeginAtPoint: (NSPoint)screenPoint forItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Allows application to specify the screenPoint at which a dragging session will begin for the given indexPaths

### collectionView: draggingSession: willBeginAtPoint: forItemsAtIndexes:

- (void) collectionView: (NSCollectionView*)collectionView draggingSession: (NSDraggingSession*)session willBeginAtPoint: (NSPoint)screenPoint forItemsAtIndexes: (NSIndexSet*)indexes;
Availability: OpenStep
Allows application to specify the screenPoint at which a dragging session will begin for the given indexes

### collectionView: namesOfPromisedFilesDroppedAtDestination: forDraggedItemsAtIndexPaths:

- (NSArray*) collectionView: (NSCollectionView*)collectionView namesOfPromisedFilesDroppedAtDestination: (NSURL*)dropURL forDraggedItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Returns an array of filenames for files at indexPaths that will be dropped at the destination specified by NSURL.

### collectionView: namesOfPromisedFilesDroppedAtDestination: forDraggedItemsAtIndexes:

- (NSArray*) collectionView: (NSCollectionView*)collectionView namesOfPromisedFilesDroppedAtDestination: (NSURL*)dropURL forDraggedItemsAtIndexes: (NSIndexSet*)indexes;
Availability: MacOS-X 10.6.0
Returns an array of filenames for files at indexes that will be dropped at the destination specified by NSURL.

### collectionView: pasteboardWriterForItemAtIndex:

- (id<NSPasteboardWriting>) collectionView: (NSCollectionView*)collectionView pasteboardWriterForItemAtIndex: (NSUInteger)index;
Availability: OpenStep
Return NSPasteboardWriting object for collectionView at index

### collectionView: pasteboardWriterForItemAtIndexPath:

- (id<NSPasteboardWriting>) collectionView: (NSCollectionView*)collectionView pasteboardWriterForItemAtIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Return NSPasteboardWriting object for collectionView at indexPath

### collectionView: shouldChangeItemsAtIndexPaths: toHighlightState:

- (NSSet*) collectionView: (NSCollectionView*)collectionView shouldChangeItemsAtIndexPaths: (NSSet*)indexPaths toHighlightState: (NSCollectionViewItemHighlightState)highlightState;
Availability: Not in OpenStep/MacOS-X
Returns the set of indexPaths that should change their selection. This is sent to inform the delegate of those items that the collectionView would like to change to highlightState.

### collectionView: shouldDeselectItemsAtIndexPaths:

- (NSSet*) collectionView: (NSCollectionView*)collectionView shouldDeselectItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Returns the set of NSIndexPath objects that should be deselected given the proposed indexPaths.

### collectionView: shouldSelectItemsAtIndexPaths:

- (NSSet*) collectionView: (NSCollectionView*)collectionView shouldSelectItemsAtIndexPaths: (NSSet*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Returns the set of indexPaths that should change.

### collectionView: transitionLayoutForOldLayout: newLayout:

- (NSCollectionViewTransitionLayout*) collectionView: (NSCollectionView*)collectionView transitionLayoutForOldLayout: (NSCollectionViewLayout*)fromLayout newLayout: (NSCollectionViewLayout*)toLayout;
Availability: Not in OpenStep/MacOS-X
Called to inform the delegate that the collectionView is transitioning from the old to the new layout indicated.

### collectionView: updateDraggingItemsForDrag:

- (void) collectionView: (NSCollectionView*)collectionView updateDraggingItemsForDrag: (id<NSDraggingInfo>)draggingInfo;
Availability: OpenStep
Update items include in the drag operation for collectionView.

### collectionView: validateDrop: proposedIndex: dropOperation:

- (NSDragOperation) collectionView: (NSCollectionView*)collectionView validateDrop: (id<NSDraggingInfo>)draggingInfo proposedIndex: (NSInteger*)proposedDropIndex dropOperation: (NSCollectionViewDropOperation*)proposedDropOperation;
Availability: MacOS-X 10.6.0
Return NSDragOperation when performing drag and drop on collectionView at proposedIndex.

### collectionView: validateDrop: proposedIndexPath: dropOperation:

- (NSDragOperation) collectionView: (NSCollectionView*)collectionView validateDrop: (id<NSDraggingInfo>)draggingInfo proposedIndexPath: (NSIndexPath**)proposedDropIndexPath dropOperation: (NSCollectionViewDropOperation*)proposedDropOperation;
Availability: Not in OpenStep/MacOS-X
Return NSDragOperation when performing drag and drop on collectionView at proposedDropIndexPath.

### collectionView: willDisplayItem: forRepresentedObjectAtIndexPath:

- (void) collectionView: (NSCollectionView*)collectionView willDisplayItem: (NSCollectionViewItem*)item forRepresentedObjectAtIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Called to inform the delegate that the item representing the object at indexPath will be displayed.

### collectionView: willDisplaySupplementaryView: forElementKind: atIndexPath:

- (void) collectionView: (NSCollectionView*)collectionView willDisplaySupplementaryView: (NSView*)view forElementKind: (NSCollectionViewSupplementaryElementKind)elementKind atIndexPath: (NSIndexPath*)indexPath;
Availability: Not in OpenStep/MacOS-X
Called to inform the delegate that the supplementary view for the elementKind will be displayed at indexPath.

### collectionView: writeItemsAtIndexPaths: toPasteboard:

- (BOOL) collectionView: (NSCollectionView*)collectionView writeItemsAtIndexPaths: (NSSet*)indexPaths toPasteboard: (NSPasteboard*)pasteboard;
Availability: Not in OpenStep/MacOS-X
Return a boolean if the items at indexPaths can be written to the pasteboard

### collectionView: writeItemsAtIndexes: toPasteboard:

- (BOOL) collectionView: (NSCollectionView*)collectionView writeItemsAtIndexes: (NSIndexSet*)indexes toPasteboard: (NSPasteboard*)pasteboard;
Availability: MacOS-X 10.6.0
Return a boolean if the items at indexes can be written to the pasteboard

# Software documentation for the NSCollectionViewElement protocol

## NSCollectionViewElement

> Declared in:
>   AppKit/NSCollectionView.h

> Conforms to:
>   NSObject
>   NSUserInterfaceItemIdentification

Availability: Not in OpenStep/MacOS-X
Description forthcoming.
Method summary

- -applyLayoutAttributes:
- -didTransitionFromLayout:toLayout:
- -preferredLayoutAttributesFittingAttributes:
- -prepareForReuse
- -willTransitionFromLayout:toLayout:

### applyLayoutAttributes:

- (void) applyLayoutAttributes: (NSCollectionViewLayoutAttributes*)layoutAttributes;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### didTransitionFromLayout: toLayout:

- (void) didTransitionFromLayout: (NSCollectionViewLayout*)oldLayout toLayout: (NSCollectionViewLayout*)newLayout;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### preferredLayoutAttributesFittingAttributes:

- (NSCollectionViewLayoutAttributes*) preferredLayoutAttributesFittingAttributes: (NSCollectionViewLayoutAttributes*)layoutAttributes;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### prepareForReuse

- (void) prepareForReuse;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

### willTransitionFromLayout: toLayout:

- (void) willTransitionFromLayout: (NSCollectionViewLayout*)oldLayout toLayout: (NSCollectionViewLayout*)newLayout;
Availability: Not in OpenStep/MacOS-X
Description forthcoming.

# Software documentation for the NSCollectionViewPrefetching protocol

## NSCollectionViewPrefetching

> Declared in:
>   AppKit/NSCollectionView.h

> Conforms to:
>   NSObject

Availability: Not in OpenStep/MacOS-X
Description forthcoming.
Method summary

- -collectionView:cancelPrefetchingForItemsAtIndexPaths:
- -collectionView:prefetchItemsAtIndexPaths:

### collectionView: cancelPrefetchingForItemsAtIndexPaths:

- (void) collectionView: (NSCollectionView*)collectionView cancelPrefetchingForItemsAtIndexPaths: (NSArray*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Cancel the prefetch request for the listed indexPaths.

### collectionView: prefetchItemsAtIndexPaths:

- (void) collectionView: (NSCollectionView*)collectionView prefetchItemsAtIndexPaths: (NSArray*)indexPaths;
Availability: Not in OpenStep/MacOS-X
Load the items listed in indexPaths in collectionView before they are displayed

Up