A sample that groups multiple related samples into a single entry.


@interface HKCorrelation : HKSample


HealthKit uses correlations to represent both blood pressure and food.

  • Blood pressure correlations always include two quantity samples, representing the systolic and diastolic values.

  • Food correlations can contain a wide range of dietary information about the food, including information about the fat, protein, carbohydrates, energy, and vitamins consumed.

In general, a food correlation should include at least a HKQuantityTypeIdentifierDietaryEnergyConsumed sample. You can also add nutritional quantity samples for any other items you want to track. Use the HKMetadataKeyFoodType key to indicate the food’s name.

The HKCorrelation class is a concrete subclass of the HKSample class. Correlations are immutable: You set the correlation’s properties when the object is first created, and they cannot change.

Extend Correlation Samples

Like many HealthKit classes, the HKCorrelation class should not be subclassed. You can extend the correlation class by adding metadata with custom keys as appropriate for your app.

For more information, see the correlationWithType:startDate:endDate:objects:metadata: method.


Creating Correlations

+ correlationWithType:startDate:endDate:objects:

Instantiates and returns a new correlation instance.

+ correlationWithType:startDate:endDate:objects:metadata:

Instantiates and returns a new correlation instance with the provided metadata.

+ correlationWithType:startDate:endDate:objects:device:metadata:

Instantiates and returns a new correlation instance with the provided device and metadata.

Getting Correlation Data


The type for this correlation.


The set of sample objects that make up the correlation.

- objectsForType:

Returns a set containing all the objects of the specified type in the correlation.

Specifying Predicate Key Paths


The key path for accessing the object’s correlation inside a predicate format string.


Inherits From

See Also

Basic Samples


A sample that represents a cumulative quantity.


A sample that represents a discrete quantity.


A sample that represents a quantity, including the value and the units.


A sample whose values are selected from a short list of possible values.

Units and Quantities

Objects used to specify a quantity for a given unit (for example, 175 lbs), and to convert between units (79.4 kg).

Metadata Keys

Constants used to add metadata to objects stored in HealthKit.