---
title: NSRuleEditor.PredicatePartKey
framework: appkit
role: symbol
role_heading: Structure
path: appkit/nsruleeditor/predicatepartkey
---

# NSRuleEditor.PredicatePartKey

These strings are used as keys to the dictionary returned from the delegate’s ruleEditor(_:predicatePartsForCriterion:withDisplayValue:inRow:) optional method. To construct a valid predicate, the union of the dictionaries for each item in the row must contain the required parts.

## Declaration

```swift
struct PredicatePartKey
```

## Topics

### Predicate Part Keys

- [comparisonModifier](appkit/nsruleeditor/predicatepartkey/comparisonmodifier.md)
- [compoundType](appkit/nsruleeditor/predicatepartkey/compoundtype.md)
- [customSelector](appkit/nsruleeditor/predicatepartkey/customselector.md)
- [leftExpression](appkit/nsruleeditor/predicatepartkey/leftexpression.md)
- [operatorType](appkit/nsruleeditor/predicatepartkey/operatortype.md)
- [options](appkit/nsruleeditor/predicatepartkey/options.md)
- [rightExpression](appkit/nsruleeditor/predicatepartkey/rightexpression.md)

### Initializers

- [init(rawValue:)](appkit/nsruleeditor/predicatepartkey/init(rawvalue:).md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Providing Data

- [ruleEditor(_:child:forCriterion:with:)](appkit/nsruleeditordelegate/ruleeditor(_:child:forcriterion:with:).md)
- [ruleEditor(_:displayValueForCriterion:inRow:)](appkit/nsruleeditordelegate/ruleeditor(_:displayvalueforcriterion:inrow:).md)
- [ruleEditor(_:numberOfChildrenForCriterion:with:)](appkit/nsruleeditordelegate/ruleeditor(_:numberofchildrenforcriterion:with:).md)
- [ruleEditor(_:predicatePartsForCriterion:withDisplayValue:inRow:)](appkit/nsruleeditordelegate/ruleeditor(_:predicatepartsforcriterion:withdisplayvalue:inrow:).md)
