Swift2 - HKSampleQuery
Posted
技术标签:
【中文标题】Swift2 - 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)'
正确的语法如何?
【问题讨论】:
【参考方案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
)
在闭包中,results
和 error
在 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
【讨论】:
以上是关于Swift2 - HKSampleQuery的主要内容,如果未能解决你的问题,请参考以下文章
Swift2.0 Multipeer Connectivity 无法连接