【问题标题】:How to reset pedometer to 0 in Swift? I am using CMPedometer()如何在 Swift 中将计步器重置为 0?我正在使用 CMPedometer()
【发布时间】:2016-11-20 16:15:42
【问题描述】:

我想在我的应用程序中添加一个按钮,并通过按下它来将计步器重置为 0。现在我刚刚完成了一个普通的计步器,我的代码如下:

@IBOutlet weak var step: UILabel!

    var days:[String] = []
    var stepsTaken:[Int] = []
    let activityManager = CMMotionActivityManager()
    var pedoMeter = CMPedometer()

 override func viewDidLoad() {
        super.viewDidLoad()

        var cal  = Calendar.current
        var comps = cal.dateComponents([.year, .month, .day, .hour, .minute, .second], from: Date())
        comps.hour = 0
        comps.minute = 0
        comps.second = 0
        let timeZone = NSTimeZone.system
        cal.timeZone = timeZone
        let midnight = cal.date(from: comps)!

        if(CMPedometer.isStepCountingAvailable()){


            self.pedoMeter.startUpdates(from: midnight) { (data: CMPedometerData?, error) -> Void in
                DispatchQueue.main.async(execute: { () -> Void in
                    if(error == nil){
                        self.step.text = "\(data!.numberOfSteps)"
                    }
                })
            }
        }    }

【问题讨论】:

    标签: ios swift cmmotionmanager


    【解决方案1】:

    您不能“重置计步器”。它是一个硬件。

    所做的是编写软件。没有法律规定您必须在 您的 计数时保持或显示与计步器在 计数时保持相同的数字。将您自己的单独计数保留为实例属性。

    【讨论】:

    • 我明白了。非常感谢!
    • 还有一个问题,按下按钮后如何重新从0开始计数?
    • 正如我所说,你的计数可以是任何你想要的。所以将 your 计数设置为 0。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    相关资源
    最近更新 更多