ブログ詳細

画像

SwiftでUISwitchの値をUserDefaultsに保存する

`UserDefaults`を使用して、`UISwitch`の値を保存し、後で取得する方法は以下のとおりです。
### 値の保存 `UISwitch`の値が変更されるたびに、この値を`UserDefaults`に保存することができます。
@IBAction func switchValueChanged(_ sender: UISwitch) {
    let userDefaults = UserDefaults.standard
    userDefaults.set(sender.isOn, forKey: "switchValue")
    userDefaults.synchronize()
}
このコードは、`UISwitch`の値が変更されるたびに呼び出される必要があります。Interface Builderで`UISwitch`をセットアップしている場合、このメソッドを`Value Changed`イベントに接続することができます。 ### 値の取得 アプリを再起動した後など、後でこの値を取得するために以下のようにします。
let userDefaults = UserDefaults.standard
let savedSwitchValue = userDefaults.bool(forKey: "switchValue")
この`savedSwitchValue`変数には、保存された`UISwitch`の値が含まれます。最初の起動など、この値がまだ保存されていない場合、`bool(forKey:)`メソッドは`false`を返します。 ### 例:初回ロード時に値をセットする 以下のように、`viewDidLoad`内で保存された値を`UISwitch`にセットすることもできます。
override func viewDidLoad() {
    super.viewDidLoad()
    let savedSwitchValue = UserDefaults.standard.bool(forKey: "switchValue")
    yourSwitch.isOn = savedSwitchValue
}
ここで、`yourSwitch`は、対象となる`UISwitch`へのアウトレット接続であると仮定しています。

当社は、お客様が当社の Web サイト (その他のメディア フォーム、モバイル Web サイト、または関連または接続されているモバイル アプリケーションを含む) にアクセスしたときに、Cookie またはその他の追跡技術を使用して、サイトをカスタマイズし、お客様のエクスペリエンスを向上させる場合があります。 もっと詳しく

許可する