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!(type
type
: HKCategoryType!, valuevalue
: Int, startDatestartDate
: NSDate!, endDateendDate
: NSDate!)Objective C
+ (instancetype)categorySampleWithType:(HKCategoryType *)
type
value:(NSInteger)value
startDate:(NSDate *)startDate
endDate:(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:categoryType
value:HKCategoryValueSleepAnalysisAsleep
startDate:start
endDate: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!(type
type
: HKCategoryType!, valuevalue
: Int, startDatestartDate
: NSDate!, endDateendDate
: NSDate!, metadatametadata
: [NSObject : AnyObject]!)Objective C
+ (instancetype)categorySampleWithType:(HKCategoryType *)
type
value:(NSInteger)value
startDate:(NSDate *)startDate
endDate:(NSDate *)endDate
metadata:(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:categoryType
value:HKCategoryValueSleepAnalysisAsleep
startDate:start
endDate:end
metadata: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: String
Objective C
NSString * const HKPredicateKeyPathCategoryValue;
Константы