Swift 如何检查步数是否可以被100的乘数整除

Swift 如何检查步数是否可以被100的乘数整除,swift,Swift,我试图在swift中实现一个逻辑,在这里我使用CMPedometer CMPedometer需要一些时间来更新结果,比如延迟1-2秒,假设用户已经采取了5个步骤,它将返回值5 现在我想做的是,每采取100个步骤,我就要更新用户分数。问题是,假设用户在步骤199,他们打开应用程序,走了5步,我从CMPedometer得到的返回值将是204,当我在if条件下输入204%100==0时,该值将不为真,因此我无法更新分数 if CMPedometer.isStepCountingAvailable()

我试图在swift中实现一个逻辑,在这里我使用
CMPedometer

CMPedometer
需要一些时间来更新结果,比如延迟1-2秒,假设用户已经采取了5个步骤,它将返回值5

现在我想做的是,每采取100个步骤,我就要更新用户分数。问题是,假设用户在步骤199,他们打开应用程序,走了5步,我从
CMPedometer
得到的返回值将是204,当我在if条件下输入
204%100==0
时,该值将不为真,因此我无法更新分数

if CMPedometer.isStepCountingAvailable() {

   self.pedoMeter.startUpdates(from: Date()) { (data, error) in 
      let stepCount = data.numberOfSteps
      if (stepCount.intValue % 100 == 0) {
          //Upddate scores
      }
   }
}
那么,我应该如何改变if条件才能使其工作呢?这在数学上是可能的吗


此外,我只记录了应用程序中今天采取的步骤,因此,如果用户达到199步,他们今天关闭应用程序并再次打开,他们将从199步继续,因此我保存了该数字。

我将保留一个int值
registeredSteps
,并在分数超过100时增加该值。更新分数后,我会增加注册步骤的值

var registeredSteps = 0

...

if CMPedometer.isStepCountingAvailable() {
   self.pedoMeter.startUpdates(from: Date()) { [weak self] (data, error) in 
      self?.trackSteps(data.numberOfSteps.intValue)
   }
}

...


func trackSteps(_ steps: Int) {
   let unregisteredSteps = steps - registeredSteps
   if unregisteredSteps > 100 {
      // update scores
      registeredSteps += 100
   }
}

只要除以100,你就会得到第1.04行的结果,这样你就知道他们曾经做过100次。当他们的步幅增加时,你会得到2.什么,3.什么,etc@loremipsum如果用户在一段时间后关闭应用程序并打开它,而我已经将更新分数发送给call,那么它会再次发送,因为104/100将是一个有效的呼叫,对吗?我想避免这种情况,这就是为什么我要使用显式值。