m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

swiftでNSUserDefaultsの保存と読込

手持ちのスマホが古くなってきた

そろそろ買い替えどきかもしれないけどandroidiosかで悩み中

NSUserDefaults

簡単なデータならこれで保存して使用する
設定データ等を保存する場合に便利な感じ

実装

シングルページアプリケーションでつくって以下のレイアウトにする

f:id:m_shige1979:20150115201530p:plain

viewをコーディング
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var lbl_count: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        // NSUserDefaultsインスタンスの生成
        let userDefaults = NSUserDefaults.standardUserDefaults()
        
        // キーのstartCountを取得
        var startCount:Int = userDefaults.integerForKey("startCount")
        
        // 1加算して画面に表示
        startCount++;
        lbl_count.text = String(startCount)
        
        // 加算した値を保存
        userDefaults.setInteger(startCount, forKey: "startCount")
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

※簡単な読み込みと保存処理、初期値はintegerの場合は未定義の場合は0が帰ってきました。

結果

アプリを落として再度開くと値が更新される

f:id:m_shige1979:20150115202057p:plain

f:id:m_shige1979:20150115202108p:plain
※当然なんの役にもたたない

所感

とりあえず、軽くデータを残したい場合はこの方法で対応できると思う。
もう少し複雑で多めのデータの場合はCoreData?を使用する必要が有ると思います