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"とコンソールに表示されます。