---
title: NSPredicateEditor
framework: appkit
role: symbol
role_heading: Class
path: appkit/nspredicateeditor
---

# NSPredicateEditor

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

## Declaration

```swift
class NSPredicateEditor
```

## Overview

Overview NSPredicateEditor provides an NSPredicate property—objectValue (inherited from 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, 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, which are responsible for mapping back and forth between the displayed view values and various predicates. NSPredicateEditor exposes one property, rowTemplates, which is an array of NSPredicateEditorRowTemplate objects.

## Topics

### Managing Row Templates

- [rowTemplates](appkit/nspredicateeditor/rowtemplates.md)
- [NSPredicateEditorRowTemplate](appkit/nspredicateeditorrowtemplate.md)

## Relationships

### Inherits From

- [NSRuleEditor](appkit/nsruleeditor.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSAccessibilityElementProtocol](appkit/nsaccessibilityelementprotocol.md)
- [NSAccessibilityProtocol](appkit/nsaccessibilityprotocol.md)
- [NSAnimatablePropertyContainer](appkit/nsanimatablepropertycontainer.md)
- [NSAppearanceCustomization](appkit/nsappearancecustomization.md)
- [NSCoding](foundation/nscoding.md)
- [NSDraggingDestination](appkit/nsdraggingdestination.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSStandardKeyBindingResponding](appkit/nsstandardkeybindingresponding.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [NSUserActivityRestoring](appkit/nsuseractivityrestoring.md)
- [NSUserInterfaceItemIdentification](appkit/nsuserinterfaceitemidentification.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Controls

- [Responding to control-based events using target-action](uikit/responding-to-control-based-events-using-target-action.md)
- [NSButton](appkit/nsbutton.md)
- [NSColorWell](appkit/nscolorwell.md)
- [Combo Box](appkit/combo-box.md)
- [NSComboButton](appkit/nscombobutton.md)
- [Date Picker](appkit/date-picker.md)
- [NSImageView](appkit/nsimageview.md)
- [NSLevelIndicator](appkit/nslevelindicator.md)
- [Path Control](appkit/path-control.md)
- [NSPopUpButton](appkit/nspopupbutton.md)
- [NSProgressIndicator](appkit/nsprogressindicator.md)
- [NSRuleEditor](appkit/nsruleeditor.md)
- [Search Field](appkit/search-field.md)
- [NSSegmentedControl](appkit/nssegmentedcontrol.md)
- [Slider](appkit/slider.md)
