24615

[code]

    var test: [NSNumber] = [] {
        didSet {
            // ログ出す
        }
    }
    
[/code]

上記の場合、testの配列を書き換えるとdidSetが呼ばれることは確認できたのですが  
どの配列が書き換わったのかはdidSetではわからないのでしょうか


CC BY-SA 3.0
2016-05-06T15:54:03.203
24612
2016-05-06T18:27:51.463
2016-05-06T16:29:34.467
5337
12842
question
swift
配列のパラメータのdidSetについて


`didSet`内では変更前の値を示す`oldValue`という名前のパラメータが利用できます。  
その値と現在の値（例では`test`）を比較することで何が変わったのかを判断することができます。

[code]

    var test: [NSNumber] = [] {
        didSet {
            print(oldValue) // 変更前の値
            print(test)     // 現在（変更後）の値
        }
    }
    
[/code]


CC BY-SA 3.0
2016-05-06T18:27:51.463
24615
2016-05-06T18:27:51.463
5519
24612
answer