如何在用户继续Swift 5中的程序之前“等”到用户开始实际移动?

我正在更新App Store上拥有的阻力赛车应用程序。以前,用户会点击“开始”按钮,然后开始倒数计时,计时器到0后,应用将跟踪赛车所需的各种事物。例如,用户达到60 MPH,1/8英里和1/4英里所需的时间。但是,我添加了一个设置,该设置允许用户单击开始按钮,然后在需要时启动。当应用感测到运动时,它开始跟踪运动,就像它明智地使计时器在先前版本中命中0一样。但是,我困惑于“等待”直到应用感知到运动之后再使用信息的最佳方法。我尝试了以下方法:

if(zeroTosixtyStyle == true){
        Warninglabel.text = ("Launch when you are ready!")
        repeat {
            sleep(UInt32(0.01))
        }while(locationmanager.location?.speed ?? 0 < 2 );

        processTwo()

    }else{
    timer = Timer.scheduledTimer(timeInterval: 0.01,target: self,selector:
        #selector(ZerotoSixtyViewController.DecupdateCounter),userInfo: nil,repeats: true)
        DecupdateCounter()
    }

但是,这显然不是一个好的解决方案。广告它可以提高CPU使用率,并使应用程序的某些部分无响应。实际上,使用该方法会使“警告标签”在循环开始之前尚未真正更新为字符串。等到应用感知到运动后才能移至“ processTwo()”的更有效方法是什么?

有关更多信息,“ zeroTosixtyStyle”是由用户设置设置的布尔值。如果为true,则应用程序等待用户启动;如果为false,则运行倒计时。这可以正常工作。

zhuangting 回答:如何在用户继续Swift 5中的程序之前“等”到用户开始实际移动?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2820063.html

大家都在问