<!--
{
  "availability" : [
    "macOS: 10.10.0 - 11.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "NotificationCenter",
  "identifier" : "/documentation/NotificationCenter/NCWidgetListViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Notification Center"
    ],
    "preciseIdentifier" : "c:objc(cs)NCWidgetListViewController"
  },
  "title" : "NCWidgetListViewController"
}
-->

# NCWidgetListViewController

An object that provides a list view for displaying content in a macOS Today widget.

```
class NCWidgetListViewController
```

## Overview

The `NCWidgetListViewController` class provides a list view for displaying content in a Today widget. A list view controller works together with its delegate to display content and support user interaction with the list. To learn about the list view controller delegate methods, see [`NCWidgetListViewDelegate`](/documentation/NotificationCenter/NCWidgetListViewDelegate).

You store the contents of a widget as an array of objects in the list view controller’s [`contents`](/documentation/NotificationCenter/NCWidgetListViewController/contents) property. To display the objects, you use a [`delegate`](/documentation/NotificationCenter/NCWidgetListViewController/delegate) object, which provides a custom view controller for each object in `contents`. A list view controller also provides properties that make it easy to specify aspects of the list’s appearance and behavior, such as the number of rows to display, the presence of divider lines, and the ability to edit the list.

## Topics

### Displaying and Editing List Content

[`delegate`](/documentation/NotificationCenter/NCWidgetListViewController/delegate)

The list view controller’s delegate or `nil` if the receiver doesn’t have a delegate.

[`NCWidgetListViewDelegate`](/documentation/NotificationCenter/NCWidgetListViewDelegate)

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

### Accessing Content

[`contents`](/documentation/NotificationCenter/NCWidgetListViewController/contents)

An array of objects to display in the list view.

[`row(for:)`](/documentation/NotificationCenter/NCWidgetListViewController/row(for:))

Returns the row represented by the specified content view controller.

[`viewController(atRow:makeIfNecessary:)`](/documentation/NotificationCenter/NCWidgetListViewController/viewController(atRow:makeIfNecessary:))

Returns the content view controller associated with the specified row, or a new content view controller if desired.

### Customizing the List Appearance

[`minimumVisibleRowCount`](/documentation/NotificationCenter/NCWidgetListViewController/minimumVisibleRowCount)

The minimum number of visible rows to display.

[`hasDividerLines`](/documentation/NotificationCenter/NCWidgetListViewController/hasDividerLines)

A Boolean value that indicates whether list displays divider lines between rows.

### Supporting Editing

[`editing`](/documentation/NotificationCenter/NCWidgetListViewController/editing)

A Boolean value that indicates whether the list is in editing mode.

[`showsAddButtonWhenEditing`](/documentation/NotificationCenter/NCWidgetListViewController/showsAddButtonWhenEditing)

A Boolean value that indicates whether an Add (+) button is displayed while the list is in editing mode.



---

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)