我对 swift 很陌生,对于我的项目,我需要使用 swift3 和 xcode8.1 我尝试了不同的解决方案,但注意到有效。我认为这是因为 swift3 从 swift2 转换,正如我在不同主题上看到的那样。尽管如此,这对我没有多大帮助。
这是我的功能:
func startHeartRateUpdates() {
output("Starting Heart Rate updates...")
if let client = self.client {
do {
try client.sensorManager.startHeartRateUpdates(to: nil, withHandler: { (heartRateData: MSBSensorHeartRateData!, error: NSError!) in
self.hrLabel.text = NSString(format: "Heart Rate: %3u %@",
heartRateData.heartRate,
heartRateData.quality == MSBSensorHeartRateQuality.acquiring ? "Acquiring" : "Locked") as String
})
self.perform(#selector(ViewController.stopHeartRateUpdates), with: nil, afterDelay: 60)
} catch let error as NSError {
output("startHeartRateUpdatesToQueue failed: \(error.description)")
}
} else {
output("Client not connected, can not start heart rate updates")
}
}
我遇到的唯一错误是这 2 行用红色下划线:
heartRateData.quality == MSBSensorHeartRateQuality.acquiring ? "Acquiring" : "Locked") as String
随着消息:
'Int1' 不能转换为 'Bool'
谢谢你的帮助。