LoginSignup
54
52

More than 5 years have passed since last update.

[Swift] 地味によく使う設定値の保存、取得をしてみる(NSUserDefaultsの利用)

Posted at

何をしたか

設定値の保存、取り出し、削除を行います。NSUserDefaultsを使っています。
アプリを終了させても設定した値は活きています。
Configファイルへの書き込み、取り出しのイメージです。

スマートかどうかわかりませんが、画面間のデータ受け渡しに使えます。

ソース


    init(){

        // 設定値の保存 キーは"keyName"、値は"value"としました。
        let config = NSUserDefaults.standardUserDefaults()
        config.setObject("value",forKey:"keyName")
        config.synchronize() // シンクロを入れないとうまく動作しないときがあります

        // 設定値の取得
        let result : AnyObject! = config.objectForKey("keyName")
        println(result)
        var test:String = result as NSString // AnyObjectからString型にダウンキャストするときは as NSString

        // 存在しないキーはnilが返る
        let result2 : AnyObject! = config.objectForKey("hoge")
        println(result2)

        // 設定値すべてを取得 ※ システムで用意された設定値も出力されます
        var dictionary : NSDictionary =  config.dictionaryRepresentation()
        println(dictionary)

        // 設定値"keyName"の削除
        config.removeObjectForKey("keyName")

        // ちゃんと"keyName"が削除されたことを確認
        var dictionary2 : NSDictionary =  config.dictionaryRepresentation()
        println(dictionary2)

    }

感想

Swiftになってもメソッド名が長いのは変わらないです。
個人的にはConfigクラスを作ってラッパーしちゃいたい。

54
52
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
52