Swiftで辞書(dictionary)の値を更新方法について記載します。
目次
値の更新方法
辞書の値を更新するには
1. キーを指定して新しい値を代入
2. updateValue メソッドを使用する
方法があります。
2. の updateValue メソッド を使用した場合、更新前の値を取得することもできます。
1. キーを指定して新しい値を代入
シンプルにキーを指定して更新する方法です。
キーが存在しない場合は、要素(key,valeu)が追加されます。
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var fruitsPrice = [ "apple": 100, "orange": 200, "banana": 300 ] // キーを指定して値を更新 print( fruitsPrice["orange"]! ) // 200 fruitsPrice["orange"] = 500 print( fruitsPrice["orange"]! ) // 500 // 存在しないキーを指定した場合は、要素(key,value)を追加 fruitsPrice["peach"] = 350 print( fruitsPrice ) // ["peach": 350, "banana": 300, "orange": 500, "apple": 100] |
2. updateValue メソッドを使用する
updateValueメソッドを使用すると、メソッドの戻り値として、更新前の値を取得することができます。
キーが存在しない場合は、要素(key,valeu)が追加され、更新前の値として nil が返されます。
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var fruitsPrice = [ "apple": 100, "orange": 200, "banana": 300 ] // キー(banana)の 値を 300 → 800 に更新 if let oldValue = fruitsPrice.updateValue(800, forKey: "banana"){ // 更新前の値 print( oldValue ) // 300 } // 更新後の値 print( fruitsPrice["banana"]! ) // 800 // updateValue メソッドを使って新しい要素(key,value)を追加 // キー(peach)の を追加 var oldValue = fruitsPrice.updateValue(350, forKey: "peach") // 追加前の値 print( oldValue ) // nil // 追加後の値 print( fruitsPrice ) // ["banana": 800, "peach": 350, "apple": 100, "orange": 200] |