我发现在watchOS 2并发症中进行异步操作会产生随机结果。有时操作完成并且复杂化更新,有时则不会。一个这样的例子是查询HealthKit。
let predicate = HKQuery.predicateForSamplesWithStartDate(start, endDate: toDate, options: [.StrictStartDate, .StrictEndDate])
let statisticsQuery = HKStatisticsQuery(
quantityType: quantityType,
quantitySamplePredicate: predicate,
options: options) { (query, statistics, error) -> Void in
handler(statistics)
}
self.healthKitStore.executeQuery(statisticsQuery)
此代码将导致对处理程序的调用大约一半时间。我做错了什么?