Swift・iOS

Swiftを中心に学んだことを記録に残すブログです。技術に関係ない記事もたまに書いています。

【Swift】UserDefaultsを使ったテキストの保存と読み込み

■はじめに

UserDefaultsを使ったテキストの保存/読み込みについて試したので記事に残します。

 

■開発環境

Xcode 9.4.1

・Swift 4.1.2 

 

■実装

(1)Main.storyboard

f:id:hfoasi8fje3:20180810224859p:plain

 

(2)ViewController.swift

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet weak var textMemoryField: UITextField!
    @IBOutlet weak var showLabel: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        textMemoryField.delegate = self
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    // ユーザーデフォルトに保存する
    @IBAction func memorizeText(_ sender: Any) {
        let writtenText = textMemoryField.text! as NSString
        let defaults = UserDefaults.standard
        defaults.set(writtenText, forKey: "memo")
        view.endEditing(true)
    }
// 保存したテキストをラベルに表示する @IBAction func readText(_ sender: Any) { let defaults = UserDefaults.standard let value = defaults.string(forKey: "memo") showLabel.text = value }
// タップでキーボードを下げる @IBAction func tapView(_ sender: UITapGestureRecognizer) { view.endEditing(true) }
}

 

■おわりに

実際はアプリの利用状況の保存などで使われるUserDefaultsですが、サクッと機能を確認してみたいという方がいれば、参考にしてみてください。

 

※追記 2018/8/13

UserDefaultsを使ったテキストの自動保存の方法についてまとめました!

【Swift】UITextFieldに入力したテキストを自動で保存する - Swift実践ブログ