谓词中的 HKQueryOptions
Posted
技术标签:
【中文标题】谓词中的 HKQueryOptions【英文标题】:HKQueryOptions in predicate 【发布时间】:2017-06-19 21:39:30 【问题描述】:我正在尝试使用谓词从 HealthKit 获取过去 30 天的数据。许多在线教程使用.None
作为他们的HKQueryOption
,由于我不熟悉HKQueryOptions,我想知道是否有其他人知道在这种情况下可以用什么代替.None
。目前,我已将.None
作为HKQueryOptions
输入,但这会导致我的错误。
'None' is unavailable: use [] to construct an empty option set
当我输入 []
并打印 results
时,它会返回为 []
这是我声明谓词的查询函数
let sampleType = HKSampleType.quantityType(forIdentifier: HKQuantityTypeIdentifier.bloodGlucose)
let mostRecentPredicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options:.None)
let query = HKSampleQuery(sampleType: sampleType!, predicate: mostRecentPredicate, limit: 35, sortDescriptors: nil) (query, results, error) in
【问题讨论】:
请在您的问题中添加错误 我添加了错误以及在那之后我尝试过的@DatNguyen 我不是这方面的专家,但是当您使用[]
时,没有看到错误,并返回[]
,这意味着:1)查询格式正确; 2)空结果意味着您的查询没有匹配的结果。为什么你得到空结果?您的 HealthKit 中可能没有过去 30 天内的数据。也许根本没有数据。你需要自己解决这个问题:)
【参考方案1】:
尝试使用空集文字[]
而不是.None
:
let mostRecentPredicate = HKQuery.predicateForSamples(withStart: startDate, end:endDate, options:[])
【讨论】:
当我尝试这个并打印我的查询结果时,它返回为[]
以上是关于谓词中的 HKQueryOptions的主要内容,如果未能解决你的问题,请参考以下文章