データの保存・読込・削除

アプリに不可欠のデータの保存・読込・削除について学習する。
様々な方法があるが、もっとも簡単なNSUserDefaultsを用いる方法を試す。
手持ちの教科書には記載がないので、あちこちネットを探し回りなんとか理解できた。

・データはkey で識別する。
・keyと本文はtextFieldで入力する。
・save,load,deleteボタンを配置する。
・保存はkeyFieldに識別子を入力して行う。
・読込はkeyを指定して行う。
・削除はkeyを指定して行う。

これも一週間がかりでようやくできた。
ステップアップして、複数の行や配列を記録できるようにしたい。

はじめはkey入力なしで作成した。
ここまでは比較的楽に到達できたが、
一行の保存なので、複数のデータの読み書きができない。

これでは役に立たないので、
画面にkeyのテキストフィールドを追加して、識別する。

データがない場合は「default」を表示するようにした。

完成!

=========================
(備忘録)一行データの保存・記録・削除
コード:Xcode 7.2
=========================
//
// ViewController.swift
// 保存の練習3
//
// Created by yasui_swift on 2015/12/29.
// Copyright © 2015年 darumammz.com. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
//ラベルとテキストフィールドの配置
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var keyField: UITextField!
@IBOutlet weak var keyLable: UILabel!
@IBOutlet weak var label: UILabel!

 //デフォルトの定義
let userDefault = NSUserDefaults.standardUserDefaults()

override func viewDidLoad() {
super.viewDidLoad()
userDefault.registerDefaults(["id":"default"])
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
 //保存のボタン
@IBAction func saveButton(sender: AnyObject) {
let userDefault = NSUserDefaults.standardUserDefaults()
userDefault.setObject(textField.text! , forKey: keyField.text!)
}
//読込のボタン
@IBAction func loadButton(sender: AnyObject) {
let userDefault = NSUserDefaults.standardUserDefaults()
let loadText:String! = userDefault.stringForKey(keyField.text!)
textField.text = " "
label.text = loadText
keyLable.text = keyField.text
}
 //削除のボタン
@IBAction func deleteButton(sender: AnyObject) {
userDefault.removeObjectForKey(keyField.text!)
let defaults:String = userDefault.objectForKey("id") as! String
label.text = defaults
}
}
=========================
<追記>
このコードでは、.delegate=selfやuserDefaults.synchronize()を用いていない。
正しいのか、どうか不明だが、アプリとしては作動したのでこれでよしとした。