无法转换类型错误Swift的值

时间:2016-08-02 23:14:24

标签: swift

我正在制作一个简单的计步器应用tutorial,我收到以下错误

  

无法转换类型的值'(CMPedometerData!,_) - >无效的   预期参数类型'CMPedometerHandler'(又名   '(可选,可选) - > ()')

在这些代码行上:

if(CMPedometer.isStepCountingAvailable()){
                   let fromDate = NSDate(timeIntervalSinceNow: -86400 * 7)
                   self.pedoMeter.queryPedometerDataFromDate(fromDate, toDate: NSDate()) { (data : CMPedometerData!, error) -> Void in
                       print(data)
                       dispatch_async(dispatch_get_main_queue(), { () -> Void in
                           if(error == nil){
                               self.steps.text = "\(data.numberOfSteps)"
                           }
                       })
                   }
                   self.pedoMeter.startPedometerUpdatesFromDate(midnightOfToday) { (data: CMPedometerData!, error) -> Void in
                       dispatch_async(dispatch_get_main_queue(), { () -> Void in
                           if(error == nil){
                               self.steps.text = "\(data.numberOfSteps)"
                           }
                       })
                   }
               }

1 个答案:

答案 0 :(得分:5)

编译器告诉您所提供的处理程序类型错误 - 您将第一个参数作为隐式解包的可选项而不是可选的(它具有apachectl configtest而不是{{1 }}),第二个参数根本没有类型。换句话说,看起来像这样的位:

!

......应该看起来像这样:

?