Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы HealthKit ссылка класса HKCorrelation

Опции
Развертывание Target:

На этой странице
Язык:

HKCorrelation

Наследование


Оператор импорта


Swift

import HealthKit

Objective C

@import HealthKit;

Доступность


Доступный в iOS 8.0 и позже.

HKCorrelation класс является конкретным подклассом HKSample класс. HealthKit использует корреляции для группировки многократных выборок в единственный ввод данных. iOS 8.0 предоставляет поддержку для использования типов корреляции для представления и кровяного давления и еды. Корреляции кровяного давления всегда включают две выборки количества, представляющие систолические и диастолические значения. Напротив, продовольственные корреляции могут содержать широкий диапазон диетической информации о еде, включая информацию о жире, протеине, углеводах, энергии и использованных витаминах.

Корреляции являются неизменными: свойства корреляции установлены, когда объект сначала создается, и они не могут измениться.

Разделение на подклассы примечаний

Как много классов HealthKit, HKCorrelation класс не должен быть разделен на подклассы. Можно расширить класс корреляции путем добавления метаданных с пользовательскими ключами как подходящих для приложения. Для получения дополнительной информации посмотрите quantitySampleWithType:quantity:startDate:endDate:metadata: метод.

  • Инстанцирует и возвращает новый экземпляр корреляции.

    Объявление

    Swift

    convenience init!(type correlationType: HKCorrelationType!, startDate startDate: NSDate!, endDate endDate: NSDate!, objects objects: Set<NSObject>!)

    Objective C

    + (instancetype)correlationWithType:(HKCorrelationType *)correlationType startDate:(NSDate *)startDate endDate:(NSDate *)endDate objects:(NSSet *)objects

    Параметры

    correlationType

    Тип для этой корреляции.

    startDate

    Дата начала выборки. Эта дата должна быть равна или ранее, чем дата окончания; иначе, этот метод выдает исключение (NSInvalidArgumentException).

    endDate

    Дата окончания выборки. Эта дата должна быть равна или позже, чем дата начала; иначе, этот метод выдает исключение (NSInvalidArgumentException).

    objects

    Ряд HKSample объекты. В частности этот набор содержит количество и выборки категории, сгруппированные в эту корреляцию.

    Возвращаемое значение

    Новый экземпляр корреляции без любых метаданных.

    Обсуждение

    HealthKit использует корреляции для представления составных выборок данных — т.е. выборки, требующие больше, чем единственное значение. Для создания выборки корреляции Вы сначала создаете соответствующий тип корреляции. Затем, Вы устанавливаете его запуск и даты окончания. Наконец, Вы создаете набор, содержащий все количество и выборки категории, которые Вы намереваетесь объединить в эту корреляцию. Таким образом Вы производите новую выборку количества без любых метаданных.

    Swift

    • let date = NSDate()
    • // Create systolic sample
    • let systolicType = HKObjectType.quantityTypeForIdentifier(
    • HKQuantityTypeIdentifierBloodPressureSystolic)
    • let systolicQuantity =
    • HKQuantity(unit: HKUnit.millimeterOfMercuryUnit(), doubleValue: 120.0)
    • let systolicSample = HKQuantitySample(type: systolicType,
    • quantity: systolicQuantity, startDate: date, endDate: date)
    • // Create diastolic sample
    • let diastolicType = HKObjectType.quantityTypeForIdentifier(
    • HKQuantityTypeIdentifierBloodPressureDiastolic)
    • let diastolicQuantity =
    • HKQuantity(unit: HKUnit.millimeterOfMercuryUnit(), doubleValue: 75.0)
    • let diastolicSample = HKQuantitySample(type: diastolicType,
    • quantity: diastolicQuantity, startDate: date, endDate: date)
    • // Create blood pressure sample
    • let bloodPressureType = HKObjectType.correlationTypeForIdentifier(
    • HKCorrelationTypeIdentifierBloodPressure)
    • let objects = NSSet(objects: systolicSample, diastolicSample)
    • let bloodpressure = HKCorrelation(type: bloodPressureType,
    • startDate: date, endDate: date, objects:objects)

    Objective C

    • NSDate *date = [NSDate date];
    • // Create systolic sample
    • HKQuantityType *systolicType =
    • [HKObjectType quantityTypeForIdentifier:
    • HKQuantityTypeIdentifierBloodPressureSystolic];
    • HKQuantity *systolicQuantity =
    • [HKQuantity quantityWithUnit:[HKUnit millimeterOfMercuryUnit]
    • doubleValue:120.0];
    • HKQuantitySample *systolicSample =
    • [HKQuantitySample quantitySampleWithType:systolicType
    • quantity:systolicQuantity
    • startDate:date
    • endDate:date];
    • // Create diastolic sample
    • HKQuantityType *diastolicType =
    • [HKObjectType quantityTypeForIdentifier:
    • HKQuantityTypeIdentifierBloodPressureDiastolic];
    • HKQuantity *diastolicQuantity =
    • [HKQuantity quantityWithUnit:[HKUnit millimeterOfMercuryUnit]
    • doubleValue:75.0];
    • HKQuantitySample *diastolicSample =
    • [HKQuantitySample quantitySampleWithType:diastolicType
    • quantity:diastolicQuantity
    • startDate:date
    • endDate:date];
    • // Create blood pressure sample
    • HKCorrelationType *bloodPressureType =
    • [HKObjectType correlationTypeForIdentifier:
    • HKCorrelationTypeIdentifierBloodPressure];
    • NSSet *objects = [NSSet setWithObjects:systolicSample, diastolicSample, nil];
    • HKCorrelation *bloodPressure =
    • [HKCorrelation correlationWithType:bloodPressureType
    • startDate:date
    • endDate:date
    • objects:objects];

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Инстанцирует и возвращает новый экземпляр корреляции с предоставленными метаданными.

    Объявление

    Swift

    convenience init!(type correlationType: HKCorrelationType!, startDate startDate: NSDate!, endDate endDate: NSDate!, objects objects: Set<NSObject>!, metadata metadata: [NSObject : AnyObject]!)

    Objective C

    + (instancetype)correlationWithType:(HKCorrelationType *)correlationType startDate:(NSDate *)startDate endDate:(NSDate *)endDate objects:(NSSet *)objects metadata:(NSDictionary *)metadata

    Параметры

    correlationType

    Тип для этой корреляции.

    startDate

    Дата начала выборки. Эта дата должна быть равна или ранее, чем дата окончания; иначе, этот метод выдает исключение (NSInvalidArgumentException).

    endDate

    Дата окончания выборки. Эта дата должна быть равна или позже, чем дата начала; иначе, этот метод выдает исключение (NSInvalidArgumentException).

    objects

    Ряд HKSample объекты. В частности этот набор содержит количество и выборки категории, сгруппированные в эту корреляцию.

    metadata

    Словарь метаданных, содержащий дополнительную информацию, описывающую эту корреляцию. Ключи словаря - все NSString объекты. Значения могут быть NSString, NSNumber, или NSDate объекты. Для полного списка предопределенных ключей метаданных посмотрите Ключи Метаданных.

    Используя предопределенные ключи помогает упростить совместное использование данных между приложениями; однако, Вы также призваны создать свои собственные, пользовательские ключи по мере необходимости для расширения возможностей выборки количества HealthKit.

    При создании корреляций, представляющих еду, всегда используйте HKMetadataKeyFoodType ключ для обеспечения имени еды.

    Возвращаемое значение

    Новый экземпляр корреляции с предоставленными метаданными.

    Обсуждение

    HealthKit использует корреляции для представления составных выборок данных — т.е. выборки, требующие больше, чем единственное значение. Для создания выборки корреляции Вы сначала создаете соответствующий тип корреляции. Затем, Вы устанавливаете его запуск и даты окончания. Также необходимо создать набор, содержащий все количество и выборки категории, которые Вы намереваетесь объединить в эту корреляцию. Наконец, Вы устанавливаете метаданные. Таким образом Вы производите новую выборку количества с предоставленными метаданными.

    Swift

    • let date = NSDate();
    • // Create a sample for calories
    • let calorieType = HKObjectType.quantityTypeForIdentifier(
    • HKQuantityTypeIdentifierDietaryEnergyConsumed)
    • let calorieQuantity =
    • HKQuantity(unit: HKUnit.kilocalorieUnit(), doubleValue: 110.0)
    • let calorieSample = HKQuantitySample(type: calorieType,
    • quantity: calorieQuantity, startDate: date, endDate: date)
    • // Create a sample for total fat
    • let fatType = HKObjectType.quantityTypeForIdentifier(
    • HKQuantityTypeIdentifierDietaryFatTotal)
    • let fatQuantity =
    • HKQuantity(unit: HKUnit.gramUnit(), doubleValue: 0.0)
    • let fatSample = HKQuantitySample(type: fatType,
    • quantity: fatQuantity, startDate: date, endDate: date)
    • // Create a sample for carbohydrates
    • let carbohydratesType = HKObjectType.quantityTypeForIdentifier(
    • HKQuantityTypeIdentifierDietaryCarbohydrates)
    • let carbohydratesQuantity =
    • HKQuantity(unit: HKUnit.gramUnit(), doubleValue: 30.0)
    • let carbohydratesSample = HKQuantitySample(type: carbohydratesType,
    • quantity: carbohydratesQuantity, startDate: date, endDate: date)
    • // Create a sample for protein
    • let proteinType = HKObjectType.quantityTypeForIdentifier(
    • HKQuantityTypeIdentifierDietaryProtein)
    • let proteinQuantity =
    • HKQuantity(unit: HKUnit.gramUnit(), doubleValue: 1.0)
    • let proteinSample = HKQuantitySample(type: proteinType,
    • quantity: proteinQuantity, startDate: date, endDate: date)
    • // Create the food sample
    • let objects =
    • NSSet(objects: calorieSample, fatSample, carbohydratesSample, proteinSample)
    • let metadata = [HKMetadataKeyFoodType: "Banana"]
    • let bananaType = HKObjectType.correlationTypeForIdentifier(
    • HKCorrelationTypeIdentifierFood)
    • let banana = HKCorrelation(type: bananaType,
    • startDate: date, endDate: date, objects: objects, metadata:metadata)

    Objective C

    • NSDate *date = [NSDate date];
    • // Create sample for calories
    • HKQuantityType *calorieType = [HKObjectType quantityTypeForIdentifier:
    • HKQuantityTypeIdentifierDietaryEnergyConsumed];
    • HKQuantity *calorieQuantity =
    • [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit] doubleValue:110.0];
    • HKQuantitySample *calorieSample =
    • [HKQuantitySample quantitySampleWithType:calorieType
    • quantity:calorieQuantity
    • startDate:date
    • endDate:date];
    • // Create sample for total fat
    • HKQuantityType *fatType = [HKObjectType quantityTypeForIdentifier:
    • HKQuantityTypeIdentifierDietaryFatTotal];
    • HKQuantity *fatQuantity =
    • [HKQuantity quantityWithUnit:[HKUnit gramUnit] doubleValue:0.0];
    • HKQuantitySample *fatSample =
    • [HKQuantitySample quantitySampleWithType:fatType
    • quantity:fatQuantity
    • startDate:date
    • endDate:date];
    • // Create sample for carbohydrates
    • HKQuantityType *carbohydratesType = [HKObjectType quantityTypeForIdentifier:
    • HKQuantityTypeIdentifierDietaryCarbohydrates];
    • HKQuantity *carbohydratesQuantity =
    • [HKQuantity quantityWithUnit:[HKUnit gramUnit] doubleValue:30.0];
    • HKQuantitySample *carbohydratesSample =
    • [HKQuantitySample quantitySampleWithType:carbohydratesType
    • quantity:carbohydratesQuantity
    • startDate:date
    • endDate:date];
    • // Create sample for protein
    • HKQuantityType *proteinType = [HKObjectType quantityTypeForIdentifier:
    • HKQuantityTypeIdentifierDietaryProtein];
    • HKQuantity *proteinQuantity =
    • [HKQuantity quantityWithUnit:[HKUnit gramUnit] doubleValue:30.0];
    • HKQuantitySample *proteinSample =
    • [HKQuantitySample quantitySampleWithType:proteinType
    • quantity:proteinQuantity
    • startDate:date
    • endDate:date];
    • // Create food sample
    • NSSet *objects = [NSSet setWithObjects:calorieSample, fatSample,
    • carbohydratesSample, proteinSample, nil];
    • NSDictionary *metadata = @{HKMetadataKeyFoodType: @"Banana"};
    • HKCorrelationType *bananaType = [HKObjectType correlationTypeForIdentifier:
    • HKCorrelationTypeIdentifierFood];
    • HKSample *banana = [HKCorrelation correlationWithType:bananaType
    • startDate:date
    • endDate:date
    • objects:objects metadata:metadata];

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • correlationType Свойство

    Тип для этой корреляции. (только для чтения)

    Объявление

    Swift

    var correlationType: HKCorrelationType! { get }

    Objective C

    @property(readonly) HKCorrelationType *correlationType

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • objects Свойство

    Набор HKSample объекты, составляющие корреляцию. (только для чтения)

    Объявление

    Swift

    var objects: Set<NSObject>! { get }

    Objective C

    @property(readonly, copy) NSSet *objects

    Обсуждение

    Это свойство содержит количество и выборки категории, сгруппированные в эту корреляцию. Корреляции кровяного давления всегда включают две выборки количества, представляющие систолические и диастолические значения. Напротив, продовольственные корреляции могут содержать широкий диапазон диетической информации о еде, включая информацию о жире, протеине, углеводах, энергии и использованных витаминах.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Возвращает набор, содержащий все объекты указанного типа в корреляции.

    Объявление

    Swift

    func objectsForType(_ objectType: HKObjectType!) -> Set<NSObject>!

    Objective C

    - (NSSet *)objectsForType:(HKObjectType *)objectType

    Параметры

    objectType

    Количество или категория вводят для данных, хранивших в корреляции.

    Возвращаемое значение

    Набор, содержащий все объекты указанного типа в корреляции.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.