2016-11-20 5 views
0

Je veux ajouter un bouton dans mon application et réinitialiser le podomètre à 0 en appuyant sur. Maintenant, je viens de terminer un podomètre commun, mon code est ci-dessous:Comment réinitialiser le podomètre à 0 dans Swift? J'utilise CMPedometer()

@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)" 
        } 
       }) 
      } 
     } } 

Répondre

1

Vous ne pouvez pas "réinitialiser le podomètre". C'est un morceau de matériel.

Qu'est-ce que vous faire est d'écrire logiciel. Aucune loi ne stipule que vous devez maintenir ou afficher comme votre compter le même nombre que le podomètre garde comme son nombre. Conservez votre propre compte séparé en tant que propriété d'instance.

+0

Je vois. Merci beaucoup! –

+0

Encore une question, comment puis-je recommencer le compte à partir de 0 après avoir appuyé sur le bouton? –

+0

Comme je l'ai dit, _your_ count peut être tout ce que vous voulez. Donc, définissez _your_ compte à 0. – matt