selectorとsender

はじめに

タイマーを作りたいんじゃ
Timer.scheduledTimer() の使い方についてメモ

ソース

import UIKit
//import Foundation

class TimeView : UIViewController {
    
    var timer = Timer()
    
    override func viewDidLoad() {
        super.viewDidLoad()

        self.timer = Timer.scheduledTimer(timeInterval: 5.0,
                                          target:   self,
                                          selector: #selector(TimeView.debug),
                                          userInfo: nil,
                                          repeats:  true)
    }
    @objc func debug() -> Void {
        print("5秒経過")
    }
}

scheduledTimer()

timeInterval selectorで設定したメソッドを実行するまでの時間
target 実行するクラス
selector 実行するメソッド
usrInfo メソッドに渡す
repeats trueは繰り返し、falseは一度だけ

selector: #selector(TimeView.debug))

  • 引数があるときは、#selector(TimerView.debug(_:)ってする

@objc func debug() -> Void {}

  • @objc記述しないとダメ
  • 引数があるときは _ sender:Timerで受け取る
  • senderは調べても分からんかった

最後に

今日全然進まんかった