---
title: NCWidgetListViewDelegate
framework: Notification Center
role: symbol
role_heading: Protocol
platforms: [macOS 10.10+]
path: notificationcenter/ncwidgetlistviewdelegate
---

# NCWidgetListViewDelegate

The interface for handling content display and editing in the list view of a macOS Today widget.

## Declaration

```swift
protocol NCWidgetListViewDelegate : NSObjectProtocol
```

## Overview

Overview The NCWidgetListViewDelegate protocol defines methods that handle content display and editing in the list view of a Today widget. The delegate of an NCWidgetListViewController must adopt the NCWidgetListViewDelegate protocol. The single required method in the protocol, widgetList(_:viewControllerForRow:), creates a view controller for the contents of one row in the widget’s list view. Optional methods in the NCWidgetListViewDelegate protocol support editing actions, such as adding a new list item and reordering or deleting list rows.

## Topics

### Creating a Content View Controller

- [widgetList(_:viewControllerForRow:)](notificationcenter/ncwidgetlistviewdelegate/widgetlist(_:viewcontrollerforrow:).md)

### Adding and Deleting Rows

- [widgetList(_:didRemoveRow:)](notificationcenter/ncwidgetlistviewdelegate/widgetlist(_:didremoverow:).md)
- [widgetList(_:shouldRemoveRow:)](notificationcenter/ncwidgetlistviewdelegate/widgetlist(_:shouldremoverow:).md)
- [widgetListPerformAddAction(_:)](notificationcenter/ncwidgetlistviewdelegate/widgetlistperformaddaction(_:).md)

### Reordering List Rows

- [widgetList(_:didReorderRow:toRow:)](notificationcenter/ncwidgetlistviewdelegate/widgetlist(_:didreorderrow:torow:).md)
- [widgetList(_:shouldReorderRow:)](notificationcenter/ncwidgetlistviewdelegate/widgetlist(_:shouldreorderrow:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Displaying and Editing List Content

- [delegate](notificationcenter/ncwidgetlistviewcontroller/delegate.md)
