---
title: "init(andPredicateWithSubpredicates:)"
framework: foundation
role: symbol
role_heading: Initializer
path: "foundation/nscompoundpredicate/init(andpredicatewithsubpredicates:)"
---

# init(andPredicateWithSubpredicates:)

Returns a new predicate that you form using an AND operation on the predicates in a specified array.

## Declaration

```swift
init(andPredicateWithSubpredicates subpredicates: [NSPredicate])
```

## Parameters

- `subpredicates`: An array of NSPredicate objects.

## Return Value

Return Value A new predicate formed by AND-ing the predicates specified by subpredicates.

## Discussion

Discussion An AND predicate with no subpredicates evaluates to TRUE. Special Considerations For applications linked on macOS 10.5 or later, the subpredicates array is copied. For applications linked on OS X v10.4, the subpredicates array is retained (for binary compatibility).

## See Also

### Related Documentation

- [Predicate Programming Guide](apple-archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html.md)

### Creating Compound Predicates

- [init(notPredicateWithSubpredicate:)](foundation/nscompoundpredicate/init(notpredicatewithsubpredicate:).md)
- [init(orPredicateWithSubpredicates:)](foundation/nscompoundpredicate/init(orpredicatewithsubpredicates:).md)
- [init(type:subpredicates:)](foundation/nscompoundpredicate/init(type:subpredicates:).md)
- [init(coder:)](foundation/nscompoundpredicate/init(coder:).md)
