---
title: "predicateForObjects(withMetadataKey:allowedValues:)"
framework: healthkit
role: symbol
role_heading: Type Method
path: "healthkit/hkquery/predicateforobjects(withmetadatakey:allowedvalues:)"
---

# predicateForObjects(withMetadataKey:allowedValues:)

Returns a predicate that matches objects based on the provided metadata key and an array of target values.

## Declaration

```swift
class func predicateForObjects(withMetadataKey key: String, allowedValues: [Any]) -> NSPredicate
```

## Parameters

- `key`: The metadata key for the value to be matched. For a list of preset keys, see Metadata Keys. You may also search using custom keys.
- `allowedValues`: An array of valid values. These values must be doc://com.apple.documentation/documentation/Foundation/NSString, doc://com.apple.documentation/documentation/Foundation/NSNumber, or doc://com.apple.documentation/documentation/Foundation/NSDate instances.

## Return Value

Return Value A predicate that matches objects based on the provided metadata key and an array of target values..

## Discussion

Discussion Use this convenience method to create a predicate that matches objects based on their metadata. When this predicate is evaluated, it gets the metadata’s value for the provided key. Then the predicate checks that value against the allowedValues array. If the array contains a matching value, the predicate returns true; otherwise, it returns false. The following sample uses both the convenience method and a predicate format string to create equivalent predicates.

## See Also

### Related Documentation

- [HKPredicateKeyPathMetadata](healthkit/hkpredicatekeypathmetadata.md)
- [metadata](healthkit/hkobject/metadata.md)

### Creating object predicates

- [predicateForObject(with:)](healthkit/hkquery/predicateforobject(with:).md)
- [predicateForObjects(with:)](healthkit/hkquery/predicateforobjects(with:).md)
- [predicateForObjects(from:)](healthkit/hkquery/predicateforobjects(from:)-7j3p2.md)
- [predicateForObjects(from:)](healthkit/hkquery/predicateforobjects(from:)-89b4t.md)
- [predicateForObjects(from:)](healthkit/hkquery/predicateforobjects(from:)-9h87f.md)
- [predicateForObjects(withDeviceProperty:allowedValues:)](healthkit/hkquery/predicateforobjects(withdeviceproperty:allowedvalues:).md)
- [predicateForObjects(from:)](healthkit/hkquery/predicateforobjects(from:)-1ar4g.md)
- [predicateForObjects(withMetadataKey:)](healthkit/hkquery/predicateforobjects(withmetadatakey:).md)
- [predicateForObjects(withMetadataKey:operatorType:value:)](healthkit/hkquery/predicateforobjects(withmetadatakey:operatortype:value:).md)
- [predicateForObjectsWithNoCorrelation()](healthkit/hkquery/predicateforobjectswithnocorrelation().md)
