簡體   English   中英

意外輸出:我使用下面的代碼根據按下的按鈕打印出計時器,但計時器僅從 20 開始。 怎么了?

[英]Unexpected Output: I am using the below code to print out the timer according to the button pressed but timer is starting with 20 only. what's wrong?

import UIKit

class ViewController: UIViewController {
    let eggTimes =  ["Soft": 60,"Medium": 72,"Hard": 95]
    
    var secondsRemaining = 20
    
    var timer = Timer()
     
    
    @IBAction func hardnessSelected(_ sender: UIButton) {
         
        let hardness = sender.currentTitle!
        
        var secondsRemaining = eggTimes[hardness]!

        timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)
       
    }

    @objc func timerAction()
    {
        if secondsRemaining > 0 {
            print("\(secondsRemaining) seconds")
            secondsRemaining -= 1
        }
    }
}

意外輸出:我使用下面的代碼根據按下的按鈕打印出計時器,但計時器僅從 20 開始。 怎么了?

您正在 Button 函數中創建一個新變量:

var secondsRemaining = eggTimes[hardness]!

相反,你應該評估你的價值。 它應該是:

self.secondsRemaining = eggTimes[hardness]!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM