Instance Method

finishSeriesWithMetadata:completion:

Finalizes the series and returns the resulting quantity samples.

Declaration

- (void)finishSeriesWithMetadata:(NSDictionary<NSString *,id> *)metadata completion:(void (^)(NSArray<__kindof HKQuantitySample *> *samples, NSError *error))completion;

Parameters

metadata

The metadata dictionary contains extra information describing all the samples created by the builder. The dictionary’s keys are all strings. The values may be strings, numbers, or date objects. For a complete list of predefined metadata keys, see Metadata Keys.

Using predefined keys helps facilitate sharing data between apps; however, you are also encouraged to create your own, custom keys as needed to extend the samples' capabilities.

completion

A completion handler, called by the builder after it creates the samples. The handler takes the following parameters:

samples

The samples returned by the builder, or nil if an error occurs.

error

If an error occurs, this contains an object that describes the error. Otherwise, it is nil.

Discussion

Call finishSeriesWithMetadata:completion: after inserting all the quantities for the series. The series builder creates one or more samples to represent the series, saves the samples to the HealthKit store, and passes them to the completion handler.

Calling this method before inserting any samples results in an error. Also, calling this method invalidates the series builder; you cannot call any other series builder methods after calling this method.

This method calls finishSeriesWithMetadata:endDate:completion:, passing nil as the endDate parameter.

See Also

Ending the Collection

- discard

Discards all previously collected data and invalidates the builder.

- finishSeriesWithMetadata:endDate:completion:

Finalizes the series with the provided end date, and returns the resulting quantity samples.