HKWorkout
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import HealthKit
Objective C
@import HealthKit;
Доступность
Доступный в iOS 8.0 и позже.
HKWorkout
класс является конкретным подклассом HKSample
класс. HealthKit использует проверки для отслеживания широкого диапазона действий. Объект проверки не только хранит сводную информацию о действии (например, продолжительность, общее расстояние и записанная полная энергия), это также действует как контейнер для других выборок. Можно связать любое число выборок с проверкой. Таким образом можно добавить подробную информацию, относящуюся к проверке.
Проверки являются главным образом неизменными. Их свойства установлены, когда проверки инстанцируют, и они не могут измениться. Однако можно продолжать добавлять выборки к проверкам.
Добавление выборок к проверке
Можно связать выборки с проверкой с помощью хранилища HealthKit addSamples:toWorkout:completion:
метод. Проверка должна быть сохранена к хранилищу HealthKit, прежде чем можно будет добавить любые выборки. Выборки не должны быть сохранены. Добавление их к проверке автоматически сохраняет их (если они уже не были сохранены).
Swift
// This sample uses hard-coded values and performs all the operations inline
// for simplicity's sake. A real-world app would calculate these values
// from sensor data and break the operation up using helper methods.
let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(),
doubleValue: 425.0)
let distance = HKQuantity(unit: HKUnit.mileUnit(),
doubleValue: 3.2)
// Provide summary information when creating the workout.
let run = HKWorkout(activityType: HKWorkoutActivityType.Running,
startDate: start, endDate: end, duration: 0,
totalEnergyBurned: energyBurned, totalDistance: distance, metadata: nil)
// Save the workout before adding detailed samples.
healthStore.saveObject(run) { (success, error) -> Void in
if !success {
// Perform proper error handling here...
println("*** An error occurred while saving the " +
"workout: \(error.localizedDescription)")
abort()
}
// Add optional, detailed information for each time interval
var samples: [HKQuantitySample] = []
let distanceType =
HKObjectType.quantityTypeForIdentifier(
HKQuantityTypeIdentifierDistanceWalkingRunning)
let distancePerInterval = HKQuantity(unit: HKUnit.footUnit(),
doubleValue: 165.0)
let distancePerIntervalSample =
HKQuantitySample(type: distanceType, quantity: distancePerInterval,
startDate: intervals[0], endDate: intervals[1])
samples.append(distancePerIntervalSample)
let energyBurnedType =
HKObjectType.quantityTypeForIdentifier(
HKQuantityTypeIdentifierActiveEnergyBurned)
let energyBurnedPerInterval = HKQuantity(unit: HKUnit.kilocalorieUnit(),
doubleValue: 15.5)
let energyBurnedPerIntervalSample =
HKQuantitySample(type: energyBurnedType, quantity: energyBurnedPerInterval,
startDate: intervals[0], endDate: intervals[1])
samples.append(energyBurnedPerIntervalSample)
let heartRateType =
HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeartRate)
let heartRateForInterval = HKQuantity(unit: HKUnit(fromString: "count/min"),
doubleValue: 95.0)
let heartRateForIntervalSample =
HKQuantitySample(type: heartRateType, quantity: heartRateForInterval,
startDate: intervals[0], endDate: intervals[1])
samples.append(heartRateForIntervalSample)
// Continue adding detailed samples...
// Add all the samples to the workout.
self.healthStore.addSamples(samples,
toWorkout: run) { (success, error) -> Void in
if !success {
// Perform proper error handling here...
println("*** An error occurred while adding a " +
"sample to the workout: \(error.localizedDescription)")
abort()
}
}
}
Objective C
// This sample uses hard-coded values and performs all the operations inline
// for simplicity's sake. A real-world app would calculate these values
// from sensor data and break the operation up using helper methods.
HKQuantity *energyBurned =
[HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
doubleValue:425.0];
HKQuantity *distance =
[HKQuantity quantityWithUnit:[HKUnit mileUnit]
doubleValue:3.2];
// Provide summary information when creating the workout.
HKWorkout *run = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeRunning
startDate:start
endDate:end
duration:0
totalEnergyBurned:energyBurned
totalDistance:distance
metadata:nil];
// Save the workout before adding detailed samples.
[self.healthStore saveObject:run withCompletion:^(BOOL success, NSError *error) {
if (!success) {
// Perform proper error handling here...
NSLog(@"*** An error occurred while saving the "
@"workout: %@ ***", error.localizedDescription);
abort();
}
// Add optional, detailed information for each time interval
NSMutableArray *samples = [NSMutableArray array];
HKQuantityType *distanceType =
[HKObjectType quantityTypeForIdentifier:
HKQuantityTypeIdentifierDistanceWalkingRunning];
HKQuantity *distancePerInterval =
[HKQuantity quantityWithUnit:[HKUnit mileUnit]
doubleValue:3.2];
HKQuantitySample *distancePerIntervalSample =
[HKQuantitySample quantitySampleWithType:distanceType
quantity:distancePerInterval
startDate:intervals[0]
endDate:intervals[1]];
[samples addObject:distancePerIntervalSample];
HKQuantityType *energyBurnedType =
[HKObjectType quantityTypeForIdentifier:
HKQuantityTypeIdentifierActiveEnergyBurned];
HKQuantity *energyBurnedPerInterval =
[HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
doubleValue:15.5];
HKQuantitySample *energyBurnedPerIntervalSample =
[HKQuantitySample quantitySampleWithType:energyBurnedType
quantity:energyBurnedPerInterval
startDate:intervals[0]
endDate:intervals[1]];
[samples addObject:energyBurnedPerIntervalSample];
HKQuantityType *heartRateType =
[HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate];
HKQuantity *heartRateForInterval =
[HKQuantity quantityWithUnit:[HKUnit unitFromString:@"count/min"]
doubleValue:95.0];
HKQuantitySample *heartRateForIntervalSample =
[HKQuantitySample quantitySampleWithType:heartRateType
quantity:heartRateForInterval
startDate:intervals[0]
endDate:intervals[1]];
[samples addObject:heartRateForIntervalSample];
// Continue adding additional samples here...
// Add all the samples to the workout.
[self.healthStore
addSamples:samples
toWorkout:run
completion:^(BOOL success, NSError *error) {
if (!success) {
// Perform proper error handling here...
NSLog(@"*** An error occurred while adding a "
@"sample to the workout: %@ ***",
error.localizedDescription);
abort();
}
}];
}];
Можно создать запрос, возвращающий только выборки, связанные с проверкой путем добавления проверки к предикату запроса. predicateForObjectsFromWorkout:
метод создает объект предиката, соответствующий только выборки, связанные с предоставленной проверкой.
Swift
let distanceType =
HKObjectType.quantityTypeForIdentifier(
HKQuantityTypeIdentifierDistanceWalkingRunning)
let workoutPredicate =
HKQuery.predicateForObjectsFromWorkout(workout)
let startDateSort =
NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: true)
let query = HKSampleQuery(sampleType: distanceType, predicate: workoutPredicate,
limit: 0, sortDescriptors: [startDateSort]) {
(sampleQuery, results, error) -> Void in
if let distanceSamples = results as? [HKQuantitySample] {
// process the detailed samples...
self.processDetailedDistanceSamples(distanceSamples,
forWorkout: self.workout)
}
else {
// Perform proper error handling here...
println("*** An error occurred while adding a sample to " +
"the workout: \(error.localizedDescription)")
abort()
}
}
healthStore.executeQuery(query)
Objective C
HKQuantityType *distanceType =
[HKObjectType quantityTypeForIdentifier:
HKQuantityTypeIdentifierDistanceWalkingRunning];
NSPredicate *workoutPredicate =
[HKQuery predicateForObjectsFromWorkout:self.workout];
NSSortDescriptor *startDateSort =
[NSSortDescriptor sortDescriptorWithKey:HKSampleSortIdentifierStartDate
ascending:YES];
HKSampleQuery *query =
[[HKSampleQuery alloc]
initWithSampleType:distanceType
predicate:workoutPredicate
limit:0
sortDescriptors:@[startDateSort]
resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {
if (results == nil) {
// Perform proper error handling here...
NSLog(@"*** An error occurred while adding a sample to "
@"the workout: %@ ***",
error.localizedDescription);
abort();
}
// process the detailed samples...
[self processDetailedDistanceSamples:results
forWorkout:self.workout];
}];
[self.healthStore executeQuery:query];
Добавление выборок к проверке не изменяет ни одного из свойств проверки. В частности добавление выборок расстояния не изменит количество, сохраненное в totalDistance
, startDate
, endDate
или duration
свойства. Аналогично, добавление активной энергии горело, выборки не изменят количество, сохраненное в totalEnergyBurned
свойство. Это может привести к некоторому дублированию в данных между свойствами проверки и связанными выборками.
В целом Ваше приложение должно всегда предоставлять данные для проверки duration
, totalDistance
, и totalEnergyBurned
свойства, когда данные и доступны и относятся к проверке. Кроме того, можно предоставить тонкозернистую информацию путем соединения выборок с проверкой. Эти выборки могут предоставить дополнительную информацию о том, как интенсивность осуществления изменилась в течение проверки.
Например, вообразите приложение, отслеживающее выполнения пользователя. Каждый раз, когда пользователь заканчивает выполнение, приложение создает проверку, включающую общее расстояние, продолжительность и калории, записанные для всего выполнения. Приложение также сохраняет выборки, описывающие расстояние, записанные калории, количество шага, сердечный ритм, рейсы поднялись и другие данные по намного меньшим временным интервалам.
Необходимо точно настроить точную продолжительность связанных выборок на основе типа проверки и потребностей приложения. Используя 5-минутные интервалы минимизирует объем памяти, должен был сохранить проверки, все еще обеспечивая общий смысл изменения в интенсивности в течение длинной проверки. Используя 5-секундные интервалы обеспечивает очень подробное представление проверки, но требует значительно большего количества памяти и обработки.
Разделение на подклассы примечаний
Как много классов HealthKit, HKWorkout
класс не должен быть разделен на подклассы.
Можно расширить проверки путем добавления метаданных с пользовательскими ключами как подходящих для приложения. Для получения дополнительной информации посмотрите методы workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata:
и workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata:
.
-
Инстанцирует и возвращает новое действие проверки.
Объявление
Swift
convenience init!(activityType
workoutActivityType
: HKWorkoutActivityType, startDatestartDate
: NSDate!, endDateendDate
: NSDate!)Objective C
+ (instancetype)workoutWithActivityType:(HKWorkoutActivityType)
workoutActivityType
startDate:(NSDate *)startDate
endDate:(NSDate *)endDate
Параметры
workoutActivityType
Тип действия, выполняемого во время проверки. Для списка возможных типов действия посмотрите
HKWorkoutActivityType
.startDate
Дата и время, когда запустилось действие.
endDate
Дата и время, когда закончилось действие. Эта дата должна быть равна или позже, чем дата начала.
Возвращаемое значение
Действие проверки.
Обсуждение
Продолжительность проверки вычисляется от ее запуска и время окончания. Общее расстояние проверки, полная энергия горела, события проверки, и метаданные все установлены в
nil
.Swift
let basketball = HKWorkout(activityType:HKWorkoutActivityType.Basketball,
startDate: start, endDate: end)
healthStore.saveObject(basketball) { (success, error) -> Void in
// Perform proper error handling here...
println("*** An error occurred while saving this " +
"workout: \(error.localizedDescription)")
abort()
}
Objective C
HKWorkout *basketball =
[HKWorkout workoutWithActivityType:HKWorkoutActivityTypeBasketball
startDate:start
endDate:end];
[self.healthStore
saveObject:basketball
withCompletion:^(BOOL success, NSError *error) {
// Perform proper error handling here...
NSLog(@"*** An error occurred while saving this "
@"workout: %@ ***", error.localizedDescription);
}];
Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
init (activityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata:) + workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata:
Инстанцирует и возвращает новое действие проверки, включающее полную энергию записанное, общее расстояние и метаданные для проверки.
Объявление
Swift
convenience init!(activityType
workoutActivityType
: HKWorkoutActivityType, startDatestartDate
: NSDate!, endDateendDate
: NSDate!, durationduration
: NSTimeInterval, totalEnergyBurnedtotalEnergyBurned
: HKQuantity!, totalDistancetotalDistance
: HKQuantity!, metadatametadata
: [NSObject : AnyObject]!)Objective C
+ (instancetype)workoutWithActivityType:(HKWorkoutActivityType)
workoutActivityType
startDate:(NSDate *)startDate
endDate:(NSDate *)endDate
duration:(NSTimeInterval)duration
totalEnergyBurned:(HKQuantity *)totalEnergyBurned
totalDistance:(HKQuantity *)totalDistance
metadata:(NSDictionary *)metadata
Параметры
workoutActivityType
Тип действия выполняется во время проверки. Для полного списка типов действия посмотрите
HKWorkoutActivityType
.startDate
Дата и время, когда запустилось действие.
endDate
Дата и время, когда закончилось действие. Эта дата должна быть равна или позже, чем дата начала.
duration
totalEnergyBurned
Количество с помощью энергетических модулей, или
nil
. Это наборы свойств проверкаtotalEnergyBurned
свойство.totalDistance
Количество с помощью модулей длины, или
nil
. Это наборы свойств проверкаtotalDistance
свойство.metadata
Словарь метаданных содержит дополнительную информацию, описывающую эту проверку. Ключи словаря - все
NSString
объекты. Значения могут бытьNSString
,NSNumber
, илиNSDate
объекты. Для полного списка предопределенных ключей метаданных посмотрите Ключи Метаданных.Используя предопределенные ключи помогает упростить совместное использование данных между приложениями; однако, Вы также призваны создать свои собственные, пользовательские ключи по мере необходимости для расширения возможностей проверки.
Возвращаемое значение
Объект проверки с предоставленной продолжительностью, полная энергия горела, общее расстояние и свойства метаданных. Свойство HKWorkout установлено в
nil
.Обсуждение
Этот метод возвращает проверку с указанной продолжительностью, полная энергия записанное, общее расстояние и метаданные.
workoutEvents
свойство установлено вnil
.Swift
let distance = HKQuantity(unit: HKUnit.mileUnit(), doubleValue: 5.2)
let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(), doubleValue: 259.0)
let metadata = [HKMetadataKeyIndoorWorkout:false]
let hike = HKWorkout(activityType: HKWorkoutActivityType.Hiking,
startDate: start, endDate: end, duration: 9000,
totalEnergyBurned: energyBurned, totalDistance: distance, metadata: metadata)
healthStore.saveObject(hike) { (success, error) -> Void in
// Perform proper error handling here...
println("*** An error occurred while saving this " +
"workout: \(error.localizedDescription)")
abort()
}
Objective C
HKQuantity *distance = [HKQuantity quantityWithUnit:[HKUnit mileUnit]
doubleValue:5.2];
HKQuantity *energyBurned = [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
doubleValue:259.0];
NSDictionary *metadata = @{HKMetadataKeyIndoorWorkout: @(NO)};
HKWorkout *hike = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeHiking
startDate:start
endDate:end
duration:9000
totalEnergyBurned:energyBurned
totalDistance:distance
metadata:metadata];
[self.healthStore
saveObject:hike
withCompletion:^(BOOL success, NSError *error) {
// Perform proper error handling here...
NSLog(@"*** An error occurred while saving this "
@"workout: %@ ***", error.localizedDescription);
}];
Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
init (activityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata:) + workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata:
Инстанцирует и возвращает проверку, продолжительность которой вычисляется на основе запуска и даты окончания и предоставленные события проверки. Этот метод также указывает общее расстояние, полную энергию и свойства метаданных.
Объявление
Swift
convenience init!(activityType
workoutActivityType
: HKWorkoutActivityType, startDatestartDate
: NSDate!, endDateendDate
: NSDate!, workoutEventsworkoutEvents
: [AnyObject]!, totalEnergyBurnedtotalEnergyBurned
: HKQuantity!, totalDistancetotalDistance
: HKQuantity!, metadatametadata
: [NSObject : AnyObject]!)Objective C
+ (instancetype)workoutWithActivityType:(HKWorkoutActivityType)
workoutActivityType
startDate:(NSDate *)startDate
endDate:(NSDate *)endDate
workoutEvents:(NSArray *)workoutEvents
totalEnergyBurned:(HKQuantity *)totalEnergyBurned
totalDistance:(HKQuantity *)totalDistance
metadata:(NSDictionary *)metadata
Параметры
workoutActivityType
Тип действия выполняется во время проверки. Для полного списка типов действия посмотрите
HKWorkoutActivityType
.startDate
Дата и время, когда запустилось действие.
endDate
Дата и время, когда закончилось действие. Эта дата должна быть равна или позже, чем дата начала.
workoutEvents
Массив объектов-событий проверки. Когда пользователь приостановил и возобновил действие проверки, этот массив указывает. Этот метод вычисляет продолжительность проверки на основе общей суммы активного времени между предоставленным запуском и даты окончания.
totalEnergyBurned
Количество с помощью энергетических модулей, или
nil
. Это наборы свойств проверкаtotalEnergyBurned
свойство.totalDistance
Количество с помощью модулей длины, или
nil
. Это наборы свойств проверкаtotalDistance
свойство.metadata
Словарь метаданных содержит дополнительную информацию, описывающую эту проверку. Ключи словаря - все
NSString
объекты. Значения могут бытьNSString
,NSNumber
, илиNSDate
объекты. Для полного списка предопределенных ключей метаданных посмотрите Ключи Метаданных.Используя предопределенные ключи помогает упростить совместное использование данных между приложениями; однако, Вы также призваны создать свои собственные, пользовательские ключи по мере необходимости для расширения возможностей выборки количества HealthKit.
Возвращаемое значение
Объект проверки с указанной продолжительностью, полная энергия горела, общее расстояние, метаданные и события проверки.
Обсуждение
Этот метод вычисляет продолжительность проверки на основе количества времени, которое это проводит в активном состоянии. Проверка запускается в активном состоянии. Событие паузы переключает его на неактивное состояние, и событие резюме переключает его назад на активное состояние. Для получения дополнительной информации о событиях проверки посмотрите Ссылку класса HKWorkoutEvent.
Swift
let distance = HKQuantity(unit: HKUnit.mileUnit(), doubleValue: 2.3)
let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(), doubleValue: 356.0)
let metadata = [HKMetadataKeyIndoorWorkout:false]
let pause = HKWorkoutEvent(type: HKWorkoutEventType.Pause, date: pauseStart)
let resume = HKWorkoutEvent(type: HKWorkoutEventType.Resume, date: pauseEnd)
let kayaking = HKWorkout(activityType: HKWorkoutActivityType.PaddleSports,
startDate: start, endDate: end, workoutEvents: [pause, resume],
totalEnergyBurned: energyBurned, totalDistance: distance, metadata: metadata)
healthStore.saveObject(kayaking) { (success, error) -> Void in
// Perform proper error handling here...
println("*** An error occurred while saving this " +
"workout: \(error.localizedDescription)")
abort()
}
Objective C
HKQuantity *distance = [HKQuantity quantityWithUnit:[HKUnit mileUnit]
doubleValue:5.2];
HKQuantity *energyBurned = [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
doubleValue:259.0];
NSDictionary *metadata = @{HKMetadataKeyIndoorWorkout: @(NO)};
HKWorkoutEvent *pause =
[HKWorkoutEvent workoutEventWithType:HKWorkoutEventTypePause
date:pauseStart];
HKWorkoutEvent *resume =
[HKWorkoutEvent workoutEventWithType:HKWorkoutEventTypeResume
date:pauseEnd];
HKWorkout *kayaking = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeHiking
startDate:start
endDate:end
workoutEvents:@[pause, resume]
totalEnergyBurned:energyBurned
totalDistance:distance
metadata:metadata];
[self.healthStore
saveObject:kayaking
withCompletion:^(BOOL success, NSError *error) {
// Perform proper error handling here...
NSLog(@"*** An error occurred while saving this "
@"workout: %@ ***", error.localizedDescription);
}];
Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
duration
СвойствоПродолжительность проверки. (только для чтения)
Объявление
Swift
var duration: NSTimeInterval { get }
Objective C
@property(readonly, assign) NSTimeInterval duration
Обсуждение
Продолжительность проверки может быть указана одним из трех способов.
workoutWithActivityType:startDate:endDate:
метод использует временной интервал между предоставленным запуском и даты окончания.workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata:
метод устанавливает продолжительность в предоставленное значение. ИworkoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata:
метод вычисляет общую активную продолжительность на основе запуска и даты окончания и события проверки.Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
totalDistance
СвойствоОбщее расстояние переместилось во время проверки. (только для чтения)
Объявление
Swift
var totalDistance: HKQuantity! { get }
Objective C
@property(readonly, strong) HKQuantity *totalDistance
Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
totalEnergyBurned
СвойствоПолная энергия горела во время проверки. (только для чтения)
Объявление
Swift
var totalEnergyBurned: HKQuantity! { get }
Objective C
@property(readonly, strong) HKQuantity *totalEnergyBurned
Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
workoutActivityType
СвойствоТип действия выполняется во время проверки. (только для чтения)
Объявление
Swift
var workoutActivityType: HKWorkoutActivityType { get }
Objective C
@property(readonly, assign) HKWorkoutActivityType workoutActivityType
Обсуждение
Для полного списка типов действия посмотрите
HKWorkoutActivityType
.Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
workoutEvents
СвойствоМассив объектов-событий проверки. (только для чтения)
Объявление
Swift
var workoutEvents: [AnyObject]! { get }
Objective C
@property(readonly, copy) NSArray *workoutEvents
Обсуждение
Когда пользователь приостановил и возобновил действие проверки, этот массив указывает. Этот метод вычисляет продолжительность проверки на основе суммы активного времени между предоставленным запуском и даты окончания. Для получения дополнительной информации о событиях проверки посмотрите Ссылку класса HKWorkoutEvent.
Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-
Константы, которые могут привыкнуть к проверкам вида.
Объявление
Swift
let HKWorkoutSortIdentifierDuration: String let HKWorkoutSortIdentifierTotalDistance: String let HKWorkoutSortIdentifierTotalEnergyBurned: String
Objective C
NSString * const HKWorkoutSortIdentifierDuration; NSString * const HKWorkoutSortIdentifierTotalDistance; NSString * const HKWorkoutSortIdentifierTotalEnergyBurned;
Константы
-
HKWorkoutSortIdentifierDuration
Константа для сортировки проверок на основе их продолжительности.
Доступный в iOS 8.0 и позже.
-
HKWorkoutSortIdentifierTotalDistance
Константа для сортировки проверок на основе их общего расстояния.
Доступный в iOS 8.0 и позже.
-
HKWorkoutSortIdentifierTotalEnergyBurned
Константа для сортировки проверок на основе полной энергии горела.
Доступный в iOS 8.0 и позже.
-
-
Константы, которые могут использоваться для создания строк формата предиката.
Объявление
Swift
let HKPredicateKeyPathWorkoutDuration: String let HKPredicateKeyPathWorkoutTotalDistance: String let HKPredicateKeyPathWorkoutTotalEnergyBurned: String let HKPredicateKeyPathWorkoutType: String
Objective C
NSString * const HKPredicateKeyPathWorkoutDuration; NSString * const HKPredicateKeyPathWorkoutTotalDistance; NSString * const HKPredicateKeyPathWorkoutTotalEnergyBurned; NSString * const HKPredicateKeyPathWorkoutType;
Константы
-
HKPredicateKeyPathWorkoutDuration
Ключевой путь на время проверки.
Доступный в iOS 8.0 и позже.
-
HKPredicateKeyPathWorkoutTotalDistance
Ключевой путь для общего расстояния проверки.
Доступный в iOS 8.0 и позже.
-
HKPredicateKeyPathWorkoutTotalEnergyBurned
Ключевой путь для полной энергии проверки горел.
Доступный в iOS 8.0 и позже.
-
HKPredicateKeyPathWorkoutType
Ключевой путь для типа проверки.
Доступный в iOS 8.0 и позже.
-
-
Тип действия выполняется во время проверки.
Объявление
Swift
enum HKWorkoutActivityType : UInt { case AmericanFootball case Archery case AustralianFootball case Badminton case Baseball case Basketball case Bowling case Boxing case Climbing case Cricket case CrossTraining case Curling case Cycling case Dance case DanceInspiredTraining case Elliptical case EquestrianSports case Fencing case Fishing case FunctionalStrengthTraining case Golf case Gymnastics case Handball case Hiking case Hockey case Hunting case Lacrosse case MartialArts case MindAndBody case MixedMetabolicCardioTraining case PaddleSports case Play case PreparationAndRecovery case Racquetball case Rowing case Rugby case Running case Sailing case SkatingSports case SnowSports case Soccer case Softball case Squash case StairClimbing case SurfingSports case Swimming case TableTennis case Tennis case TrackAndField case TraditionalStrengthTraining case Volleyball case Walking case WaterFitness case WaterPolo case WaterSports case Wrestling case Yoga case Other }
Objective C
typedef enum : NSUInteger { HKWorkoutActivityTypeAmericanFootball = 1, HKWorkoutActivityTypeArchery, HKWorkoutActivityTypeAustralianFootball, HKWorkoutActivityTypeBadminton, HKWorkoutActivityTypeBaseball, HKWorkoutActivityTypeBasketball, HKWorkoutActivityTypeBowling, HKWorkoutActivityTypeBoxing, HKWorkoutActivityTypeClimbing, HKWorkoutActivityTypeCricket, HKWorkoutActivityTypeCrossTraining, HKWorkoutActivityTypeCurling, HKWorkoutActivityTypeCycling, HKWorkoutActivityTypeDance, HKWorkoutActivityTypeDanceInspiredTraining, HKWorkoutActivityTypeElliptical, HKWorkoutActivityTypeEquestrianSports, HKWorkoutActivityTypeFencing, HKWorkoutActivityTypeFishing, HKWorkoutActivityTypeFunctionalStrengthTraining, HKWorkoutActivityTypeGolf, HKWorkoutActivityTypeGymnastics, HKWorkoutActivityTypeHandball, HKWorkoutActivityTypeHiking, HKWorkoutActivityTypeHockey, HKWorkoutActivityTypeHunting, HKWorkoutActivityTypeLacrosse, HKWorkoutActivityTypeMartialArts, HKWorkoutActivityTypeMindAndBody, HKWorkoutActivityTypeMixedMetabolicCardioTraining, HKWorkoutActivityTypePaddleSports, HKWorkoutActivityTypePlay, HKWorkoutActivityTypePreparationAndRecovery, HKWorkoutActivityTypeRacquetball, HKWorkoutActivityTypeRowing, HKWorkoutActivityTypeRugby, HKWorkoutActivityTypeRunning, HKWorkoutActivityTypeSailing, HKWorkoutActivityTypeSkatingSports, HKWorkoutActivityTypeSnowSports, HKWorkoutActivityTypeSoccer, HKWorkoutActivityTypeSoftball, HKWorkoutActivityTypeSquash, HKWorkoutActivityTypeStairClimbing, HKWorkoutActivityTypeSurfingSports, HKWorkoutActivityTypeSwimming, HKWorkoutActivityTypeTableTennis, HKWorkoutActivityTypeTennis, HKWorkoutActivityTypeTrackAndField, HKWorkoutActivityTypeTraditionalStrengthTraining, HKWorkoutActivityTypeVolleyball, HKWorkoutActivityTypeWalking, HKWorkoutActivityTypeWaterFitness, HKWorkoutActivityTypeWaterPolo, HKWorkoutActivityTypeWaterSports, HKWorkoutActivityTypeWrestling, HKWorkoutActivityTypeYoga, HKWorkoutActivityTypeOther = 3000, } HKWorkoutActivityType;
Константы
-
AmericanFootball
HKWorkoutActivityTypeAmericanFootball
Константа для игры американского футбола.
Доступный в iOS 8.0 и позже.
-
Archery
HKWorkoutActivityTypeArchery
Константа для стрельбы в стрельбу из лука.
Доступный в iOS 8.0 и позже.
-
AustralianFootball
HKWorkoutActivityTypeAustralianFootball
Константа для игры австралийского футбола.
Доступный в iOS 8.0 и позже.
-
Badminton
HKWorkoutActivityTypeBadminton
Константа для игры бадминтона.
Доступный в iOS 8.0 и позже.
-
Baseball
HKWorkoutActivityTypeBaseball
Константа для игры бейсбола.
Доступный в iOS 8.0 и позже.
-
Basketball
HKWorkoutActivityTypeBasketball
Константа для игры баскетбола.
Доступный в iOS 8.0 и позже.
-
Bowling
HKWorkoutActivityTypeBowling
Константа для боулинга
Доступный в iOS 8.0 и позже.
-
Boxing
HKWorkoutActivityTypeBoxing
Константа для упаковки, включая кикбоксинг и связанные действия.
Доступный в iOS 8.0 и позже.
-
Climbing
HKWorkoutActivityTypeClimbing
Константа для восхождения.
Доступный в iOS 8.0 и позже.
-
Cricket
HKWorkoutActivityTypeCricket
Константа для игры крикета.
Доступный в iOS 8.0 и позже.
-
CrossTraining
HKWorkoutActivityTypeCrossTraining
Константа для осуществления, включающего любую смесь cardio, силы и/или обучения гибкости.
Доступный в iOS 8.0 и позже.
-
Curling
HKWorkoutActivityTypeCurling
Константа для завихрения.
Доступный в iOS 8.0 и позже.
-
Cycling
HKWorkoutActivityTypeCycling
Константа для циклического повторения.
Доступный в iOS 8.0 и позже.
-
Dance
HKWorkoutActivityTypeDance
Константа для танца.
Доступный в iOS 8.0 и позже.
-
DanceInspiredTraining
HKWorkoutActivityTypeDanceInspiredTraining
Константа для проверок, вдохновленных танцем, включая пилатес, Барра и Фелденкрэйса.
Доступный в iOS 8.0 и позже.
-
Elliptical
HKWorkoutActivityTypeElliptical
Константа для проверок на эллиптической машине.
Доступный в iOS 8.0 и позже.
-
EquestrianSports
HKWorkoutActivityTypeEquestrianSports
Константа для действий, включающих ехать верхом, включая поло, скачки и верховую езду.
Доступный в iOS 8.0 и позже.
-
Fencing
HKWorkoutActivityTypeFencing
Константа для ограничения.
Доступный в iOS 8.0 и позже.
-
Fishing
HKWorkoutActivityTypeFishing
Константа для рыбалки.
Доступный в iOS 8.0 и позже.
-
FunctionalStrengthTraining
HKWorkoutActivityTypeFunctionalStrengthTraining
Константа для силовой подготовки, прежде всего со свободными весами и массой тела.
Доступный в iOS 8.0 и позже.
-
Golf
HKWorkoutActivityTypeGolf
Константа для того, чтобы сыграть в гольф.
Доступный в iOS 8.0 и позже.
-
Gymnastics
HKWorkoutActivityTypeGymnastics
Выполнение гимнастики.
Доступный в iOS 8.0 и позже.
-
Handball
HKWorkoutActivityTypeHandball
Игра гандбола.
Доступный в iOS 8.0 и позже.
-
Hiking
HKWorkoutActivityTypeHiking
Константа для пешего туризма.
Доступный в iOS 8.0 и позже.
-
Hockey
HKWorkoutActivityTypeHockey
Константа для игры хоккея, включая хоккей с шайбой, хоккей на траве и связанные спортивные состязания.
Доступный в iOS 8.0 и позже.
-
Hunting
HKWorkoutActivityTypeHunting
Константа для поиска.
Доступный в iOS 8.0 и позже.
-
Lacrosse
HKWorkoutActivityTypeLacrosse
Константа для игры лакросса.
Доступный в iOS 8.0 и позже.
-
MartialArts
HKWorkoutActivityTypeMartialArts
Константа для осуществления боевых искусств.
Доступный в iOS 8.0 и позже.
-
MindAndBody
HKWorkoutActivityTypeMindAndBody
Константа для выполнения действий как тайцзи или размышления.
Доступный в iOS 8.0 и позже.
-
MixedMetabolicCardioTraining
HKWorkoutActivityTypeMixedMetabolicCardioTraining
Константа для выполнения любого соединения cardio-фокусируемых упражнений.
Доступный в iOS 8.0 и позже.
-
PaddleSports
HKWorkoutActivityTypePaddleSports
Константа для гребли на каное, каякинга, плывя на аутригере, плывя на стоячей плате весла и связанных спортивных состязаниях.
Доступный в iOS 8.0 и позже.
-
Play
HKWorkoutActivityTypePlay
Константа для основанных на игре действий как тег, избегите шара, классиков, tetherball, и играющий на гимнастическом снаряде «джунгли».
Доступный в iOS 8.0 и позже.
-
PreparationAndRecovery
HKWorkoutActivityTypePreparationAndRecovery
Константа для прогрева, cooldown, и терапевтической активности как прокрутка пены и протяжение.
Доступный в iOS 8.0 и позже.
-
Racquetball
HKWorkoutActivityTypeRacquetball
Константа для игры ракетбола.
Доступный в iOS 8.0 и позже.
-
Rowing
HKWorkoutActivityTypeRowing
Константа для расположения в ряд.
Доступный в iOS 8.0 и позже.
-
Rugby
HKWorkoutActivityTypeRugby
Константа для игры регби.
Доступный в iOS 8.0 и позже.
-
Running
HKWorkoutActivityTypeRunning
Константа для выполнения и бега трусцой.
Доступный в iOS 8.0 и позже.
-
Sailing
HKWorkoutActivityTypeSailing
Константа для плавания.
Доступный в iOS 8.0 и позже.
-
SkatingSports
HKWorkoutActivityTypeSkatingSports
Константа для действий катания на коньках, включая катание на коньках, катание на коньках скорости, встроенное катание на коньках и скейтбординг.
Доступный в iOS 8.0 и позже.
-
SnowSports
HKWorkoutActivityTypeSnowSports
Константа для множества спортивных состязаний снега, включая лыжный спорт, сноубординг и лыжные гонки.
Доступный в iOS 8.0 и позже.
-
Soccer
HKWorkoutActivityTypeSoccer
Константа для игры футбола.
Доступный в iOS 8.0 и позже.
-
Softball
HKWorkoutActivityTypeSoftball
Константа для игры софтбола.
Доступный в iOS 8.0 и позже.
-
Squash
HKWorkoutActivityTypeSquash
Константа для игры сквоша.
Доступный в iOS 8.0 и позже.
-
StairClimbing
HKWorkoutActivityTypeStairClimbing
Константа для подъема по лестнице.
Доступный в iOS 8.0 и позже.
-
SurfingSports
HKWorkoutActivityTypeSurfingSports
Константа для множества спортивных состязаний перемещения, включая перемещение, перемещение бумажного змея и перемещение ветра.
Доступный в iOS 8.0 и позже.
-
Swimming
HKWorkoutActivityTypeSwimming
Константа для плавания.
Доступный в iOS 8.0 и позже.
-
TableTennis
HKWorkoutActivityTypeTableTennis
Константа для игры настольного тенниса.
Доступный в iOS 8.0 и позже.
-
Tennis
HKWorkoutActivityTypeTennis
Константа для игры тенниса.
Доступный в iOS 8.0 и позже.
-
TrackAndField
HKWorkoutActivityTypeTrackAndField
Участвуя в событиях легкой атлетики, включая помещенный выстрел, копье, прыжки полюса и связанные спортивные состязания.
Доступный в iOS 8.0 и позже.
-
TraditionalStrengthTraining
HKWorkoutActivityTypeTraditionalStrengthTraining
Константа для силовой подготовки осуществляет прежде всего использование машин или свободных весов.
Доступный в iOS 8.0 и позже.
-
Volleyball
HKWorkoutActivityTypeVolleyball
Константа для игры волейбола.
Доступный в iOS 8.0 и позже.
-
Walking
HKWorkoutActivityTypeWalking
Константа для обхода.
Доступный в iOS 8.0 и позже.
-
WaterFitness
HKWorkoutActivityTypeWaterFitness
Константа для занятия аэробикой выполняется на мелководье.
Доступный в iOS 8.0 и позже.
-
WaterPolo
HKWorkoutActivityTypeWaterPolo
Константа для игры водного поло.
Доступный в iOS 8.0 и позже.
-
WaterSports
HKWorkoutActivityTypeWaterSports
Константа для множества водных видов спорта, включая водный лыжный спорт, обшивку следа и связанные действия.
Доступный в iOS 8.0 и позже.
-
Wrestling
HKWorkoutActivityTypeWrestling
Константа для борьбы.
Доступный в iOS 8.0 и позже.
-
Yoga
HKWorkoutActivityTypeYoga
Константа для осуществления йоги.
Доступный в iOS 8.0 и позже.
-
Other
HKWorkoutActivityTypeOther
Константа для проверки, не соответствующей ни одного из других типов действия проверки.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import HealthKit;
Swift
import HealthKit
Доступность
Доступный в iOS 8.0 и позже.
-