首页 > 解决方案 > 如何在 swift 5 中访问和传递 HealthKit 数据导致一个函数来自另一个函数,以便在 urlSession 中进行 JSON 序列化?

问题描述

我正在尝试从一个函数中的 Healthkit 查询示例结果数组中访问数据并将其传递到我的 urlSessionPostRequest() 函数中。

但是,这会导致超出范围的错误,这是应该的。尝试将这两个函数合二为一,我仍然无法访问结果以在代码的 urlsession 部分中使用。

 func latestHeartRate() {                    
          
 let query = HKSampleQuery(sampleType: sampleType, predicate: predicate, limit: 
 Int(HKObjectQueryNoLimit), sortDescriptors: [sortDescriptor]) { (query, 
   results, error) in

 // Query results  
 let queryDataOutputResults = results?[1] as! HKQuantitySample
                     print(data)
                   }
                    healthstore.execute(query)
            }


func urlSessionPostRequest() {

  guard let httpBody = try? JSONSerialization.data(withJSONObject: 
  queryDataOutputResults, options: []) else {  
                        fatalError() } 

标签: jsonswiftserializationurlsessionhksamplequery

解决方案


推荐阅读