Я довольно новыми для Swift, поэтому я после учебник о том, как сделать приложение шагомер с этой страницы: http://shrikar.com/ios-swift-development-step-counter-app-using-pedometer-data/Невозможно преобразовать значение ошибки типа в Swift
Однако, это было из некоторое время назад , поэтому я работал над обновлением и не очень далеко. Я получаю эту ошибку:
Cannot convert value of type '(CMPedometerData?, NSError?) -> Void' to expected argument type 'CMPedometerHandler' (aka '(Optional<CMPedometerData>, Optional<Error>) ->()')
Вот мой код до сих пор:
if(CMPedometer.isStepCountingAvailable()){
let fromDate = NSDate(timeIntervalSinceNow: -86400 * 7)
self.pedoMeter.queryPedometerDataFromDate(fromDate as Date, toDate: NSDate() as Date) { (data : CMPedometerData?, error: NSError?) -> Void in
DispatchQueue.main.async(){
if(error == nil){
self.steps.text = "\(data.numberOfSteps)"
}
}
}
self.pedoMeter.startPedometerUpdatesFromDate(newDay) { (data: CMPedometerData?, error: NSError?) -> Void in
DispatchQueue.main.async(){
if(error == nil){
self.steps.text = "\(data.numberOfSteps)"
}
}
}
}
Ошибка возникает в следующей строке:
{ (data : CMPedometerData?, error: NSError?) -> Void in
DispatchQueue.main.async(){
Любая помощь приветствуется.
Учебное пособие устарело, и вы, вероятно, используете Swift 3 в своем проекте. NSError изменился на Error. Вероятно, вы также столкнетесь с другими проблемами из-за изменений в Swift, так как в дополнение к этому было опубликовано учебное пособие. – Gruntcakes
Да, это все, спасибо за ответ. –