2015年

7月

06日

Swift NSUserDefault:読込・保存・削除

アプリケーションの設定値など、アプリを停止させてもずっと保持しておきたい情報などはよくありますが、NSUserDefaultsを使うとそうしたデータを簡単に保持できます。

 

Objective-Cの場合はこちら

ViewController.swift

使い方としてはNSUserDefaultsを取得して、取得したNSUserDefaultsに対してデータを保存したり取り出したりすることでデータ保持を行います。

import UIKit


class ViewController: UIViewController {

                            

    @IBOutlet weak var teString: UITextView!

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

    }


    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }


    // 保存

    @IBAction func respondToSaveButtonClick() {

        // 生成

        let defaults = NSUserDefaults.standardUserDefaults()

        // データの作成

        let array: [NSString] = [

            "http://www.apple.com",

            "http://Yahoo.co.jp/",

            "http://iscene.jimdo.com",

        ]

        defaults.setObject(array, forKey: "Key01")

        let successful = defaults.synchronize()

        if successful {

            println("データの保存に成功しました。")

            teString.text = "データの保存に成功しました。" + "\n"

        }

    }

    

    // 読込

    @IBAction func respondToLoadButtonClick() {

        // 生成

        let defaults = NSUserDefaults.standardUserDefaults()

        if let bookmarks = defaults.arrayForKey("Key01") {

            println(bookmarks)

            

            teString.text  = nil

            

            // テキストの最後尾に文字列を追加する.

            for i in 0...2 {

                teString.text = teString.text + (bookmarks[i] as! String) + "\n"

            }

        }

    }

    

    // 削除

    @IBAction func respondToDeleteClick() {

        // 生成

        let defaults = NSUserDefaults.standardUserDefaults()

        defaults.removeObjectForKey("Key01")

        println("データの削除に成功しました。")

        teString.text = "データの削除に成功しました。"

    }

}

  

目 次