LoginSignup
2

More than 3 years have passed since last update.

posted at

updated at

[Swift] UserDefaults使い方(データ保持) - 自作アプリを例に解説

挙動

BitflyerLightningで価格取得と注文を行うためにAPIKeyAPISecretを保存し
次回以降の起動では再度取得しなくてもいいようにする
UserDefaultsではアプリを閉じてもデータを保持しておきたい場合に使用する

定義

AppDelegate.swift
let userDefaultsAPIKey = UserDefaults.standard
let userDefaultsAPISecret = UserDefaults.standard

保存と同期

設定画面でAPIKeyAPISecretをtextFieldに入力させ
Doneボタンを押した時、保存と同期を行う

APISetupViewController.swift
@objc func pushSetupDoneButton(sender: UIButton) {
   //保存
   userDefaultsAPIKey.set(BitFlyer.apiKey, forKey: "APIKey")
   userDefaultsAPISecret.set(BitFlyer.apiSecretKey, forKey: "APISecret")
  //同期
   userDefaultsAPIKey.synchronize()
   userDefaultsAPISecret.synchronize()
  //取引画面に遷移
   dismiss(animated: true, completion: nil)
}

取得

空じゃなければ保存してあるところから取ってくる

ViewController.swift
if userDefaultsAPIKey.object(forKey: "APIKey") != nil{
            BitFlyer.apiKey = userDefaultsAPIKey.object(forKey: "APIKey") as! String
        }
if userDefaultsAPISecret.object(forKey: "APISecret") != nil{
            BitFlyer.apiSecretKey = userDefaultsAPISecret.object(forKey: "APISecret") as! String
        }

引用

jbnkk40/use-flyer
UserDefaultsの概要と操作方法(Swift) - Qiita

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2