プロパティの監視方法です。プロパティの変化をログにしたいときや、あるプロパティが変化した瞬間に何かをしたいときに使えます。
<h3> 実行環境 </h3>
Swift:4.1.2
Xcode:10.1
<h3> プロパティ監視の方法 willSet/didSet </h3>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import UIKit class Sample { var a:Int = 0{ willSet{ print("古い値:\(a)→新しい値:\(newValue)") } didSet{ print("ふるい値:\(oldValue)→あたらしい値:\(a)") } } } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let sample = Sample() sample.a = 5 //古い値:0→新しい値:5 //ふるい値:0→あたらしい値:5 } } |
newValueやoldValueといった変数は予め設定されているので、宣言せずとも使えるようです。