朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
Swift UserDefaultsの使い方





SwiftでUserDefaultsを利用すると、今回起動時のデータを記録して、次回起動時にそれを読み込んで利用することができます。
読み込むタイミングは、アプリ起動時か、前回のデータを利用したいViewのロード時になるかと思います。
保存するタイミングは、アプリ終了時か、Viewの終了時になるかと思います。
また一番最初には保存したデータがないので、ものによってはnilが返されますので、その場合どうするかを考えておかないと行きません。
サンプルでは、nilの時は空文字列や、空の配列などをセットするようにしています。


class ViewController: UIViewController {
    //UserDefaultsのインスタンスをここで取得しておく
    let ud: UserDefaults = UserDefaults.standard
    var udData01: String = ""
    var udData02: Int = 0
    var udData03: [String] = []
    var udData04: [String : Int] = [:]
    var udData05: [UIColor]? = []

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        //UserDefaultsより読み込む
        loadUserDefaults()

        //データの書き換え
        changeData()

        //UserDefaultsを書き込む
        saveUserDefaults()
    }

    //UserDefaultsより読み込むメソッド
    func loadUserDefaults() {
        //文字列
        udData01 = ud.string(forKey: "01") ?? ""
        //数値データ
        udData02 = ud.integer(forKey: "02")
        //配列
        udData03 = ud.array(forKey: "03") as? [String] ?? []
        //辞書型
        udData04 = ud.dictionary(forKey: "04") as? [String:Int] ?? [:]
        
        //そのままではUserDefaultsに保存できない型
        var arData: [Data]? = []
        arData = ud.array(forKey: "myColors") as? [Data]
        self.udData05?.removeAll()
        self.udData05 = []
        
        for i in 0 ..< 20 {
            if let data = arData?[i] {
                //ここでUIColorに戻しています。
                let localColor: UIColor = NSKeyedUnarchiver.unarchiveObject(with: data) as! UIColor
                self.udData05!.append(localColor)
            }
        }
    }
    
    //UserDefaultsに書き込むメソッド
    func saveUserDefaults() {
        //保存は基本の型のは同じ構文
        ud.set(udData01, forKey: "01")
        ud.set(udData02, forKey: "02")
        ud.set(udData03, forKey: "03")
        ud.set(udData04, forKey: "04")
        
        //そのままではUserDefaultsに保存できない型
        var arData: [Data] = []
        for i in 0 ..< 20 {
            //ここでUserDefaultsに保存できるように変換しています。
            let localData: Data = NSKeyedArchiver.archivedData(withRootObject: self.udData5![i])
            arData.append(localData)
        }
        
        ud.set(arData, forKey: "myColors")
    }
    
    //データを書き換えるメソッド
    func changeData() {
        udData01 = "ABC"
        udData02 = 100
        udData03 = ["abc", "DEF", "GHI", "JKL"]
        udData04["a"] = 20
        udData04["b"] = -30
        udData04["z"] = -10000
        
    }
}
    
} }








良いやや良い普通やや悪い悪い
1 0 111 0 0

投稿日時評価コメント
2022/11/30 普通 ロボットは、獲得したいすべての人のための最善の解決策です。 Telegram - @Cryptaxbot
2022/11/29 普通 お金を稼ぐための簡単な方法をお探しですか? 金融ロボットをチェックしてください。 Telegram - @Cryptaxbot
2022/11/29 普通 追加のお金をお探しですか? 最高の金融商品を試してみてください。 Telegram - @Cryptaxbot
2022/11/29 普通 あなたがこのロボットを昼食した後、すべてのあなたのドルは$100に変わることができます。 Telegram - @Cryptaxbot
2022/11/29 普通 それはより多くのお金を得るためにロボットを起動するのに最適な時間です。 Telegram - @Cryptaxbot
2022/11/29 普通 あなたはロボットを使用する場合は、インターネットでお金を稼ぐのは簡単です。 Telegram - @Cryptaxbot
2022/11/29 普通 ここでお金を稼ぐ成功した人々の社会に参加してください。 Telegram - @Cryptaxbot
2022/11/29 普通 あなたはこのロボットを使用する場合、コンピュータはあなたに追加の収入をもたらすことができます。 Telegram - @Cryptaxbot
2022/11/28 普通 あなたはロボットを使用する場合は、インターネットでお金を稼ぐのは簡単です。 Telegram - @Cryptaxbot
2022/11/28 普通 お金を稼ぐの最も簡単な方法について調べる。 Telegram - @Cryptaxbot
2022/11/28 普通 誰もが、彼はこのボットを訴えたい限りを獲得することができます。 Telegram - @Cryptaxbot
2022/11/28 普通 あなたが豊かにすることができ、新しい金融ツールを、チェックしてください。 Telegram - @Cryptaxbot
2022/11/28 普通 オンラインボットはあなたに富と満足をもたらすでしょう。 Telegram - @Cryptaxbot
2022/11/28 普通 退職者のための最高のオンライン仕事。 あなたの古い年齢を豊かにする。 Telegram - @Cryptaxbot
2022/11/28 普通 彼らはこのロボットを使用しているので、豊かな人々は豊かです。 Telegram - @Cryptaxbot
2022/11/27 普通 もう仕事を探す必要はありません。 オンラインで仕事。 Telegram - @Cryptaxbot
2022/11/27 普通 ロボットを起動し、それはあなたにお金を持ってみましょう。 Telegram - @Cryptaxbot
2022/11/27 普通 何千も毎週ここでオンラインで作業してください。 Telegram - @Cryptaxbot
2022/11/27 普通 この金融ロボットを使用すると、1日1000ドルを稼ぐのは簡単です。 Telegram - @Cryptaxbot
2022/11/27 普通 努力および技術なしでお金24/7をもうけなさい。 Telegram - @Cryptaxbot
2022/11/27 普通 あなたが休息している間、ロボットがあなたにお金を持ってきてみましょう。 Telegram - @Cryptaxbot
2022/11/27 普通 金融ロボットは、あなたの将来の富と独立性です。 Telegram - @Cryptaxbot
2022/11/26 普通 ここでお金を稼ぐ成功した人々の社会に参加してください。 Telegram - @Cryptaxbot
2022/11/26 普通 経済的自立は誰もが必要とするものです。 Telegram - @Cryptaxbot
2022/11/26 普通 自動ボットをチェックしてください,これはあなたのために働く24/7. Telegram - @Cryptaxbot
2022/11/26 普通 付加的な収入は世界中でだれでものために利用できるようになりました。 Telegram - @Cryptaxbot
2022/11/26 普通 オンラインボットはあなたに富と満足をもたらすでしょう。 Telegram - @Cryptaxbot
2022/11/26 普通 注意! 金融ロボットはあなたに何百万人をもたらすかもしれません! Telegram - @Cryptaxbot
2022/11/25 普通 ワンクリックで1000ドルにあなたのドルを回すことができます。 Telegram - @Cryptaxbot
2022/11/25 普通 ワンクリックで本当に速くあなたのお金を成長することができます。 Telegram - @Cryptaxbot
2022/11/25 普通 ロボットにあなたのドルを信頼し、それが1 100に成長する方法を参照してください。 Telegram - @Cryptaxbot
2022/11/25 普通 このロボットを使用すると、あなたが豊かにするための最良の方法です。 Telegram - @Cryptaxbot
2022/11/25 普通 もう仕事を探す必要はありません。 オンラインで仕事。 Telegram - @Cryptaxbot
2022/11/25 普通 収入を楽しみにしていますか? それをオンラインで入手してください。 Telegram - @Cryptaxbot
2022/11/25 普通 まだ億万長者ではありませんか? 金融ロボットはあなたに彼を行います! Telegram - @Cryptaxbot
2022/11/24 普通 金融ロボットを起動し、あなたのビジネスを行います。 Telegram - @Cryptaxbot
2022/11/24 普通 この寒い冬の家に滞在し、オンラインでお金を稼ぐ。 Telegram - @Cryptaxbot
2022/11/24 普通 あなたはこのロボットを使用する場合、オンラインの仕事は本当に効果的であることができます。 Telegram - @Cryptaxbot
2022/11/24 普通 このロボットを使用すると、あなたが豊かにするための最良の方法です。 Telegram - @Cryptaxbot
2022/11/24 普通 あなたのお金は、このロボットで資本に成長してみましょう。 Telegram - @Cryptaxbot
2022/11/24 普通 ロボットにあなたのドルを信頼し、それが1 100に成長する方法を参照してください。 Telegram - @Cryptaxbot
2022/11/24 普通 彼らはこのロボットを使用しているので、豊かな人々は豊かです。 Telegram - @Cryptaxbot
2022/11/23 普通 あなたがこのロボットを昼食した後、すべてのあなたのドルは$100に変わることができます。 Telegram - @Cryptaxbot
2022/11/23 普通 ワンクリックで本当に速くあなたのお金を成長することができます。 Telegram - @Cryptaxbot
2022/11/23 普通 この寒い冬の家に滞在し、オンラインでお金を稼ぐ。 Telegram - @Cryptaxbot
2022/11/23 普通 インターネットで最高の金融ロボットを試してみてください。 Telegram - @Cryptaxbot
2022/11/23 普通 現金が必要ですか? このロボットを起動し、それが何ができるかを参照してください。 Telegram - @Cryptaxbot
2022/11/23 普通 私たちは金持ちになるための最速の方法を発見しました。 ここでそれを見つける。 Telegram - @Cryptaxbot
2022/11/23 普通 自動ボットをチェックしてください,これはあなたのために働く24/7. Telegram - @Cryptaxbot
2022/11/22 普通 私たちは金持ちになるための最速の方法を発見しました。 ここでそれを見つける。 Telegram - @Cryptaxbot
2022/11/22 普通 ロボットは、経済的自立を探しているすべての人のための最良の方法です。 Telegram - @Cryptaxbot
2022/11/22 普通 経済的自立は誰もが必要とするものです。 Telegram - @Cryptaxbot
2022/11/22 普通 インターネットで最高の金融ロボットを試してみてください。 Telegram - @Cryptaxbot
2022/11/22 普通 うわー! このロボットは、オンラインキャリアのための素晴らしいスタートです。 Telegram - @Cryptaxbot
2022/11/22 普通 何千も毎週ここでオンラインで作業してください。 Telegram - @Cryptaxbot
2022/11/21 普通 お金が必要ですか? 簡単にここにそれを得る? Telegram - @Cryptaxbot
2022/11/21 普通 子供でさえ、今日$100を作る方法を知っています。 Telegram - @Cryptaxbot
2022/11/21 普通 金持ちになるために金融ボットを信頼しています。 Telegram - @Cryptaxbot
2022/11/21 普通 誰もが、彼はこのボットを訴えたい限りを獲得することができます。 Telegram - @Cryptaxbot
2022/11/21 普通 あなたの財布を厚くする最速の方法が見つかりました。 Telegram - @Cryptaxbot
2022/11/21 普通 ロボットを起動し、それはあなたにお金を持ってみましょう。 Telegram - @Cryptaxbot
2022/11/21 普通 お金を稼ぐために一晩中目を覚まして滞在する必要はありません。 ロボットを起動します。 Telegram - @Cryptaxbot
2022/11/20 普通 もう少しお金が必要ですか? ロボットは本当に速くそれらを獲得します。 Telegram - @Cryptaxbot
2022/11/20 普通 あなたはロボットを使用する場合は、インターネットでお金を稼ぐのは簡単です。 Telegram - @Cryptaxbot
2022/11/20 普通 管理者により削除されました。
2022/11/20 普通 管理者により削除されました。
2022/11/20 普通 管理者により削除されました。
2022/11/20 普通 管理者により削除されました。
2022/11/20 普通 管理者により削除されました。
2022/11/19 普通 管理者により削除されました。
2022/11/19 普通 管理者により削除されました。
2022/11/19 普通 管理者により削除されました。
2022/11/19 普通 管理者により削除されました。
2022/11/19 普通 管理者により削除されました。
2022/11/19 普通 管理者により削除されました。
2022/11/19 普通 管理者により削除されました。
2022/11/18 普通 管理者により削除されました。
2022/11/18 普通 管理者により削除されました。
2022/11/18 普通 管理者により削除されました。
2022/11/18 普通 管理者により削除されました。
2022/11/18 普通 管理者により削除されました。
2022/11/18 普通 管理者により削除されました。
2022/11/18 普通 管理者により削除されました。
2022/11/17 普通 管理者により削除されました。
2022/11/17 普通 管理者により削除されました。
2022/11/17 普通 管理者により削除されました。
2022/11/17 普通 管理者により削除されました。
2022/11/17 普通 管理者により削除されました。
2022/11/17 普通 管理者により削除されました。
2022/11/16 普通 管理者により削除されました。
2022/11/16 普通 管理者により削除されました。
2022/11/16 普通 管理者により削除されました。
2022/11/16 普通 管理者により削除されました。
2022/11/16 普通 管理者により削除されました。
2022/11/16 普通 管理者により削除されました。
2022/11/16 普通 管理者により削除されました。
2022/11/15 普通 管理者により削除されました。
2022/11/15 普通 管理者により削除されました。
2022/11/15 普通 管理者により削除されました。