【问题标题】:Swift2 - HKSampleQuerySwift2 - HKSampleQuery
【发布时间】:2015-06-27 20:36:06
【问题描述】:
let hkSampleType:HKSampleType = HKSampleType.correlationTypeForIdentifier(HKCorrelationTypeIdentifierFood)!
let query = HKSampleQuery(sampleType: hkSampleType, predicate: predicate, limit: 80, sortDescriptors: nil, resultsHandler: { (query:HKSampleQuery, results:[HKSample]!, error:NSError!) -> Void in
    //code
})

就是这样,但我收到一个错误:Cannot find an initializer for type 'HKSampleQuery' that accepts an argument list of type '(sampleType: HKSampleType, predicate: NSPredicate, limit: Int, sortDescriptors: nil, resultsHandler: (HKSampleQuery, [HKSample]!, NSError!) -> Void)'

正确的语法如何?

【问题讨论】:

    标签: swift2 healthkit hksamplequery


    【解决方案1】:

    我不是 Swift 或 HealthKit 方面的专家,但它可以在 Xcode 7 中编译:

    let hkSampleType:HKSampleType = HKSampleType.correlationTypeForIdentifier(HKCorrelationTypeIdentifierFood)!
    let query = HKSampleQuery(sampleType: hkSampleType, predicate: nil, limit: 80, sortDescriptors: nil, resultsHandler: { (query:HKSampleQuery, results:[HKSample]?, error:NSError?) -> Void in
        //code
    })
    

    在闭包中,resultserror 在 iOS 9 中是可选的。您将它们声明为未包装。

    我不确定的一件事是,您能否将HKSampleQuery 用于HKCorrelation。以下是HKCorrelationQuery 的正确声明,以备不时之需:

    let corralationType = HKCorrelationType.correlationTypeForIdentifier(HKCorrelationTypeIdentifierFood)!
    let query = HKCorrelationQuery(type: corralationType, predicate: nil, samplePredicates: nil) { (query: HKCorrelationQuery, results: [HKCorrelation]?, error: NSError?) -> Void in
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多