<!--
{
  "availability" : [
    "macOS: 10.10.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSTableView/usesStaticContents",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSTableView(py)usesStaticContents"
  },
  "title" : "usesStaticContents"
}
-->

# usesStaticContents

A Boolean value indicating whether the table uses static data.

```
var usesStaticContents: Bool { get set }
```

## Discussion

A static table does not rely on a data source to provide the number of rows. A static table view’s contents are set at design time and can be changed programmatically as needed. Typically, you do not change the contents of a static table view after setting them.

In Xcode, any rows you add to a static table are saved in the corresponding nib or storyboard file and loaded with the rest of the table at runtime. You can add table rows programmatically to a static table view using the [`insertRows(at:withAnimation:)`](/documentation/AppKit/NSTableView/insertRows(at:withAnimation:)) method. When adding rows programmatically, your table view delegate must implement the [`tableView(_:viewFor:row:)`](/documentation/AppKit/NSTableViewDelegate/tableView(_:viewFor:row:)) method to provide the corresponding view for any new rows. You can also remove rows at any time using the [`removeRows(at:withAnimation:)`](/documentation/AppKit/NSTableView/removeRows(at:withAnimation:)) method.

> Note:
> A table with static contents must be an ``doc://com.apple.appkit/documentation/AppKit/NSView``-based table view.

---

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)