Как вызвать Timer () вызов за 1 секунду 30 таймер в Swift - PullRequest
0 голосов
/ 22 ноября 2018
var timer = Timer()
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector:Selector("videosecondcounter"), userInfo: nil, repeats: true)

я хочу вызвать таймер 30 раз в 1 секунду, пожалуйста, помогите мне

1 Ответ

0 голосов
/ 22 ноября 2018

Таким образом, вы можете запустить таймер 30 раз за 1 секунду.После 30-кратного запуска он автоматически остановится

// Timer That will be monitored
var myTimerToRepeat:Timer?
/// Number of times Timer ran
private var myTimerRunCount:Int?
/// Number of times Timer need to Run
private var numOfRepeatition:Int?
/// Time Interval for how long timer need to run
var myTimeInterval : TimeInterval = 1


/// Timer Handler
@objc func repeatTimerValue() {
    myTimerRunCount!+=1
    print("Repeat Count \(myTimerRunCount!)")
    /// Check is Timer Ran Max ?
    if myTimerRunCount! == self.numOfRepeatition! {
        /// yes Stop
        myTimerToRepeat!.invalidate()
        myTimerToRepeat=nil
    }
}

/// Start Timer
func startTimer(WithInterval Inter: TimeInterval) {
    if myTimerToRepeat != nil {
        myTimerToRepeat!.invalidate()
        myTimerToRepeat=nil
    }
        /// Start Timer
        myTimerToRepeat = Timer.scheduledTimer(timeInterval: Inter, target: self, selector: #selector(repeatTimerValue), userInfo: nil, repeats: true)
    }


override func viewDidLoad() {
    super.viewDidLoad()
    /// Set Count to 0
    myTimerRunCount=0
    /// Set the num of Repeatitions
    numOfRepeatition=30
    /// Start Timer
    startTimer(WithInterval: myTimeInterval/Double(numOfRepeatition!))
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...