Tag: Pomodoro技术

Swift 3中的倒数计时器

独立编程(阅读:在家)可能具有挑战性(阅读:由于Netflix),所以当我在Uber的《纽约女性密码》活动中听到Susan LoVaglio的闪电演讲中的Pomodoro技术时,我立即被卖掉了。 简而言之,Pomodoro技术是一种生产率方法,您可以在25分钟的间隔内完成一个目标,在此间隔5分钟。 对于像我这样管理博客,工作搜索和构建自己的应用程序的人来说,这似乎是实现自己的每个目标的好方法。 为了创建一个倒数计数器,我创建了一个Timer对象的实例。 在情节提要上,我创建了一个工具栏,并向其中添加了3个按钮按钮项:播放,暂停和重置。 在第20行上,您将看到一个布尔属性,用于标识计时器何时开启。 var timerIsOn = false 然后,我为每个工具栏按钮创建了IBActions函数:“重置”-> resetTapped,“暂停”-> pauseBtnTapped,“播放”-> playBnTapped。 对于我的playBtnTapped函数,请执行以下操作: 显示以前隐藏的进度条 如果计时器当前未打开,则创建一个timeInterval为1秒的Timer对象,其对象为“ self”(当前视图控制器),并调用我的方法timerRunning() 由于我现在已经创建了一个计时器,该计时器现在正在运行,因此我将timerIsOn的布尔值更改为true。 @IBAction func playBtnTapped(_ sender:Any){ // 1 progressView.isHidden =否 // 2 如果!timerIsOn { timer = Timer.scheduledTimer(timeInterval:1.0,target:self,选择器:#selector(timerRunning),userInfo:nil,重复:true) // 3 timerIsOn = true } } 单击播放按钮时将调用此timerRunning方法。 当我的倒数计时器变为0(零)时,此方法负责填充进度栏。 func timerRunning(){ timeRemaining-= 1 让completePercentage = Int((((Float(totalTime)-Float(timeRemaining))/ Float(totalTime))* 100) progressView.setProgress(Float(timeRemaining)/ Float(totalTime),动画:false) […]