<!--
{
  "availability" : [
    "macOS: 10.5.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSPredicateEditor",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSPredicateEditor"
  },
  "title" : "NSPredicateEditor"
}
-->

# NSPredicateEditor

A defined set of rules that allows the editing of predicate objects.

```
class NSPredicateEditor
```

## Overview

`NSPredicateEditor` provides an <doc://com.apple.documentation/documentation/Foundation/NSPredicate> property—[`objectValue`](/documentation/AppKit/NSControl/objectValue) (inherited from [`NSControl`](/documentation/AppKit/NSControl))—that you can get and set directly, and that you can bind using Cocoa bindings (you typically configure a predicate editor in Interface Builder). `NSPredicateEditor` depends on another class, [`NSPredicateEditorRowTemplate`](/documentation/AppKit/NSPredicateEditorRowTemplate), that describes the available predicates and how to display them.

Unlike `NSRuleEditor`, `NSPredicateEditor` does not depend on its delegate to populate its rows (and *does not call the populating delegate methods*). Instead, its rows are populated from its `objectValue` property (an instance of `NSPredicate`). `NSPredicateEditor` relies on instances [`NSPredicateEditorRowTemplate`](/documentation/AppKit/NSPredicateEditorRowTemplate), which are responsible for mapping back and forth between the displayed view values and various predicates.

`NSPredicateEditor` exposes one property, [`rowTemplates`](/documentation/AppKit/NSPredicateEditor/rowTemplates), which is an array of [`NSPredicateEditorRowTemplate`](/documentation/AppKit/NSPredicateEditorRowTemplate) objects.

## Topics

### Managing Row Templates

[`rowTemplates`](/documentation/AppKit/NSPredicateEditor/rowTemplates)

The row templates for the receiver.

[`NSPredicateEditorRowTemplate`](/documentation/AppKit/NSPredicateEditorRowTemplate)

A template that describes available predicates and how to display them.



---

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)