swift - CMPedometer 在 Swift 2.0 中出现错误

标签 swift cocoa-touch swift2 core-motion

我无法使用类型的参数列表调用从日期开始的计步器更新。

它在 Swift 1.2 中工作,但现在自从我迁移到 Swift 2 后,它出现了错误。

 if(CMPedometer.isStepCountingAvailable()){
        self.manager.deviceMotionUpdateInterval = 0.1
        self.coremotion.startPedometerUpdatesFromDate(NSDate()) {
          (data: CMPedometerData!, error) -> Void in
            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                if(error == nil){
                    println(data.numberOfSteps)
                    self.pedoLabel.text = "\(data.numberOfSteps)"
                    self.label.text = ("Great you have \(data.numberOfSteps) steps")
                }
            })   
        }
    }

最佳答案

使用可选:(数据:CMPedometerData?,错误)

if(CMPedometer.isStepCountingAvailable()){
    self.manager.deviceMotionUpdateInterval = 0.1
    self.coremotion.startPedometerUpdatesFromDate(NSDate()) {
      (data: CMPedometerData?, error) -> Void in
        dispatch_async(dispatch_get_main_queue(), { () -> Void in
            if(error == nil){
                println(data.numberOfSteps)
                self.pedoLabel.text = "\(data.numberOfSteps)"
                self.label.text = ("Great you have \(data.numberOfSteps) steps")
            }
        })   
    }
}

关于swift - CMPedometer 在 Swift 2.0 中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31874840/

相关文章:

ios - Swift:在for循环中调用完成处理程序方法

ios - 类型 'String?' 不符合协议(protocol) '_CollectionType'

IOS swift 如何用返回的 Json 数据填充我的 TableView

ios - UIPicker 显示 ?而不是文字

ios - 包含另一个字符串中单词首字母的字符串

ios - 如何在 Swift 中的 AnyClass 上使用 performSelector() 调用类方法?

ios - 为什么水平 ScrollView 内容之间存在间隙?

ios - 如何使用 Swift 语言创建 Cocoa Touch Framework 并在其他 Swift 项目中使用它?

iphone - 非法改变 NSFetchedResultsController 的获取请求

ios - Swift 2 - 传递给不带参数的调用的参数