HKCategorySample
Наследование
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSObjectProtocol -
NSSecureCoding -
Печатаемый -
NSObject -
NSSecureCoding
Оператор импорта
Swift
import HealthKit
Objective C
@import HealthKit;
Доступность
Доступный в iOS 8.0 и позже.
HKCategorySample класс является конкретным подклассом HKSample класс. Выборки категории описывают значения, которые могут быть категоризированы в перечисление значений. В iOS 8.0 HealthKit имеет только единственный демонстрационный тип категории, анализ сна.
Когда пользователь находится в постели или спящий, отдельные выборки представляют периоды времени. Выборки с различными значениями могут иметь перекрывающиеся временные интервалы. Например, когда пользователь и в постели и спящий, Вы создали бы выборку в кровати и спящую выборку с перекрывающимися временами.
Выборки категории являются неизменными: свойства выборки установлены, когда объект сначала создается, и они не могут измениться.
Разделение на подклассы примечаний
Как много классов HealthKit, HKCategorySample класс не должен быть разделен на подклассы.
Можно расшириться HKCategorySample класс путем добавления метаданных с пользовательскими ключами как подходящих для приложения. Для получения дополнительной информации посмотрите categorySampleWithType:value:startDate:endDate:metadata:.
-
Возвращает выборку, значение которой выбрано из перечисления значений.
Объявление
Swift
convenience init!(typetype: HKCategoryType!, valuevalue: Int, startDatestartDate: NSDate!, endDateendDate: NSDate!)Objective C
+ (instancetype)categorySampleWithType:(HKCategoryType *)typevalue:(NSInteger)valuestartDate:(NSDate *)startDateendDate:(NSDate *)endDateПараметры
typeТип категории для этой выборки. HealthKit поддерживает только типы категории, основывающиеся
HKCategoryTypeIdentifierSleepAnalysisидентификатор.valueЗначение для этой выборки. Это значение должно прибыть из надлежащего перечисления значения категории. Для анализа сна используйте a
HKCategoryValueSleepAnalysisзначение.startDateДата начала выборки. Это должно быть равно или ранее, чем дата окончания; иначе, этот метод выдает исключение (
NSInvalidArgumentException).endDateДата окончания выборки. Это должно быть равно или позже, чем дата начала; иначе, этот метод выдает исключение (
NSInvalidArgumentException).Возвращаемое значение
Допустимая выборка категории без любых метаданных.
Обсуждение
HealthKit использует выборки категории для представления данных, которые могут быть классифицированы в конечное множество категорий. Для создания выборки категории необходимо сначала создать соответствующий тип категории, и затем установить его запуск и даты окончания. Это производит новую выборку категории без любых метаданных.
Swift
let categoryType =HKObjectType.categoryTypeForIdentifier(HKCategoryTypeIdentifierSleepAnalysis)let categorySample = HKCategorySample(type: categoryType,value: HKCategoryValueSleepAnalysis.Asleep.toRaw(),startDate: start,endDate: end)
Objective C
HKCategoryType *categoryType =[HKObjectType categoryTypeForIdentifier:HKCategoryTypeIdentifierSleepAnalysis];HKCategorySample *categorySample =[HKCategorySample categorySampleWithType:categoryTypevalue:HKCategoryValueSleepAnalysisAsleepstartDate:startendDate:end];
Оператор импорта
Objective C
@import HealthKit;Swift
import HealthKitДоступность
Доступный в iOS 8.0 и позже.
-
init (type:value:startDate:endDate:metadata:) + categorySampleWithType:value:startDate:endDate:metadata:Возвращает выборку, значение которой выбрано из перечисления значений.
Объявление
Swift
convenience init!(typetype: HKCategoryType!, valuevalue: Int, startDatestartDate: NSDate!, endDateendDate: NSDate!, metadatametadata: [NSObject : AnyObject]!)Objective C
+ (instancetype)categorySampleWithType:(HKCategoryType *)typevalue:(NSInteger)valuestartDate:(NSDate *)startDateendDate:(NSDate *)endDatemetadata:(NSDictionary *)metadataПараметры
typeТип категории для этой выборки. HealthKit поддерживает только типы категории на основе
HKCategoryTypeIdentifierSleepAnalysisидентификатор.valueЗначение для этой выборки. Это значение должно прибыть из надлежащего перечисления значения категории. Для анализа сна используйте a
HKCategoryValueSleepAnalysisзначение.startDateДата начала выборки. Это должно быть равно или ранее, чем дата окончания; иначе, этот метод выдает исключение (
NSInvalidArgumentException).endDateДата окончания выборки. Это должно быть равно или позже, чем дата начала; иначе, этот метод выдает исключение (
NSInvalidArgumentException).metadataСловарь метаданных содержит дополнительную информацию, описывающую эту выборку. Ключи словаря - все
NSStringобъекты. Значения могут бытьNSStringобъекты,NSNumberобъекты илиNSDateобъекты. Для полного списка предопределенных ключей метаданных посмотрите Ключи Метаданных.Используя предопределенные ключи помогает упростить совместное использование данных между приложениями; однако, Вы также призваны создать свои собственные, пользовательские ключи по мере необходимости для расширения возможностей выборки категории HealthKit.
Возвращаемое значение
Допустимая выборка категории с метаданными.
Обсуждение
HealthKit использует выборки категории для представления данных, которые могут быть классифицированы в конечное множество категорий. Для создания выборки категории необходимо сначала создать соответствующий тип категории и затем установить его дату начала, дата окончания и метаданные.
Swift
let metadata =[HKMetadataKeyUDIDeviceIdentifier:UDIDeviceIdentifier,HKMetadataKeyUDIProductionIdentifier:UDIProductionIdentifier,HKMetadataKeyDigitalSignature:digitalSignature,HKMetadataKeyTimeZone:timeZone]let categoryType =HKObjectType.categoryTypeForIdentifier(HKCategoryTypeIdentifierSleepAnalysis)let categorySample = HKCategorySample(type: categoryType,value: HKCategoryValueSleepAnalysis.Asleep.toRaw(),startDate: start,endDate: end,metadata:metadata)
Objective C
NSDictionary *metadata =@{HKMetadataKeyUDIDeviceIdentifier:UDIDeviceIdentifier,HKMetadataKeyUDIProductionIdentifier:UDIProductionIdentifier,HKMetadataKeyDigitalSignature:digitalSignature,HKMetadataKeyTimeZone:timeZone};HKCategoryType *categoryType =[HKObjectType categoryTypeForIdentifier:HKCategoryTypeIdentifierSleepAnalysis];HKCategorySample *categorySample =[HKCategorySample categorySampleWithType:categoryTypevalue:HKCategoryValueSleepAnalysisAsleepstartDate:startendDate:endmetadata:metadata];
Оператор импорта
Objective C
@import HealthKit;Swift
import HealthKitДоступность
Доступный в iOS 8.0 и позже.
-
categoryTypeСвойствоТип категории для этой выборки. (только для чтения)
Объявление
Swift
var categoryType: HKCategoryType! { get }Objective C
@property(readonly, strong) HKCategoryType *categoryTypeОбсуждение
Это свойство содержит ссылку на
sampleTypeсвойство, снятое какHKCategoryTypeобъект.Оператор импорта
Objective C
@import HealthKit;Swift
import HealthKitДоступность
Доступный в iOS 8.0 и позже.
-
valueСвойствоЗначение категории для этой выборки. (только для чтения)
Обсуждение
Это значение должно соответствовать соответствующему перечислению значения категории. Для анализа сна используйте a
HKCategoryValueSleepAnalysisзначение.Оператор импорта
Objective C
@import HealthKit;Swift
import HealthKitДоступность
Доступный в iOS 8.0 и позже.
-
Константа, которая может использоваться для создания строк формата предиката.
Объявление
Swift
let HKPredicateKeyPathCategoryValue: StringObjective C
NSString * const HKPredicateKeyPathCategoryValue;Константы
