見出し画像

Swiftで行こう!- Timer!

playgroundsでTimerクラスを使ってみましょう!

playgroundで使う場合の雛形は、

import UIKit
import PlaygroundSupport

class ViewController: UIViewController {
   
   
   override func viewDidLoad() {
       super.viewDidLoad()

   }
   
   override func viewWillAppear(_ animated: Bool) {
       super.viewWillAppear(animated)
       
   }
   
   override func didReceiveMemoryWarning() {
       super.didReceiveMemoryWarning()
   }
   
}
let window = UIWindow(frame: CGRect(x: 0, y: 0, width: 300, height: 500))
let viewController = ViewController()
viewController.view.backgroundColor = UIColor.gray
window.rootViewController = viewController
window.makeKeyAndVisible()
PlaygroundPage.current.liveView = window

こんな感じです。ViewControllerをwindowに代入して最後、

PlaygroundPage.current.liveView = window

として、playgroundのliveviewで表示させます。

まずtimer変数を作っていきます。

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

まずは開始するためにstartTimer()を作ります。

timeInterval: 1,

としているので1秒ごとに関数func を実効します。

selector: #selector (self.timerCounter),

で実行する事柄を決めて関数を実効していきます。

ここで、timerCounterを定義していきます。

  @objc func timerCounter() {
       
       print("ok")
       
   }

funcの前に@objcをつけて関数を作ります。

  override func viewDidLoad() {
       super.viewDidLoad()
       
   startTimer()
       
   }

として実効すると、1秒ごとに"ok"とコンソールに表示されます。

いいなと思ったら応援しよう!