<!--
{
  "availability" : [
    "macOS: 10.5.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSPredicateEditorRowTemplate/init(leftExpressions:rightExpressionAttributeType:modifier:operators:options:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSPredicateEditorRowTemplate(im)initWithLeftExpressions:rightExpressionAttributeType:modifier:operators:options:"
  },
  "title" : "init(leftExpressions:rightExpressionAttributeType:modifier:operators:options:)"
}
-->

# init(leftExpressions:rightExpressionAttributeType:modifier:operators:options:)

Initializes and returns a “pop-up-pop-up-view”–style row template.

```
init(leftExpressions: [NSExpression], rightExpressionAttributeType attributeType: NSAttributeType, modifier: NSComparisonPredicate.Modifier, operators: [NSNumber], options: Int)
```

## Parameters

`leftExpressions`

An array of <doc://com.apple.documentation/documentation/Foundation/NSExpression> objects that represent the left side of a predicate.

`attributeType`

An attribute type for the right side of a predicate. This value dictates the type of view created, and how the control’s object value is coerced before putting it into a predicate.

`modifier`

A modifier for the predicate (see <doc://com.apple.documentation/documentation/Foundation/NSComparisonPredicate/Modifier> for possible values).

`operators`

An array of <doc://com.apple.documentation/documentation/Foundation/NSNumber> objects specifying the operator type (see <doc://com.apple.documentation/documentation/Foundation/NSComparisonPredicate/Operator> for possible values).

`options`

Options for the predicate (see <doc://com.apple.documentation/documentation/Foundation/NSComparisonPredicate/Options-swift.struct> for possible values).

## Return Value

A row template initialized using the specified arguments.

## Discussion

The type of `attributeType` dictates the type of view created. For example, <doc://com.apple.documentation/documentation/CoreData/NSAttributeType/dateAttributeType> creates an [`NSDatePicker`](/documentation/AppKit/NSDatePicker) object, <doc://com.apple.documentation/documentation/CoreData/NSAttributeType/integer64AttributeType> creates a short text field, and <doc://com.apple.documentation/documentation/CoreData/NSAttributeType/stringAttributeType> produces a longer text field. You can resize the views as you want.

Predicates do not automatically coerce types for you. For example, comparing a number to a string will raise an exception. Therefore, the attribute type is also needed to determine how the control’s object value must be coerced before putting it into a predicate.

---

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)