OKADA LABO

swiftでアプリ内に値を記憶させる。

たとえば、アプリ内に、userNameの値を記憶させるには

  UserDefaults.standard.set(userName,forKey:"userName")

ですわね。

具体的に利用する記述は

//アプリに記憶させる箱にtextFieldの値などをセット
let userName = userNameTextField.text
let userProfile = userProfileTextView.text

//スマホアプリ内へ保存する
UserDefaults.standard.set(userName,forKey:"userName")
UserDefaults.standard.set(userProfile,forKey:"userProfile")

呼び出すには

  userNameString = UserDefaults.standard.object(forKey: "userName") as! String
  userNmaeLabel.text = userNameString

って感じかな?

ちょっと発展させると、使いやすくなる

//アプリに記憶させる箱
let userName = editUserNameTextField.text
let setCheck = "true"
//スマホアプリ内へ保存する
UserDefaults.standard.set(userName,forKey:"userName")
UserDefaults.standard.set(setCheck,forKey:"check")

let setCheck = "true" にしとくと、true or falseの感覚で値を取得するトリガーになる

if UserDefaults.standard.object(forKey: "check") != nil{ //値が空でなければ

userNameString = UserDefaults.standard.object(forKey: "userName") as! String
userNmaeLabel.text = userNameString

} else {

userNmaeLabel.text = "匿名"

}

これで、アプリになにも記憶されてなければ、user名を匿名表示にしたりできる