ユーザー情報など、他の画面で同じ情報を出力したい時に使用します。
用途:SNS、日記など
ユーザー名を例にコードを記載します。
①保存する箇所・キー値を指定して、保存する。
//ユーザー名をアプリ内に保存する
UserDefaults.standard.set(プロパティ名.プロパティの中の変える場所, forKey: "キーの名前”)
※画像の場合、加えてバイナリデータというデータ型に変換が必要
//プロフィール画像をアプリ内に保存する
let data = 保存したいプロパティ名.image?.jpegData(compressionQuality: 0.1)
UserDefaults.standard.set(data, forKey: "キーの名前")
②取り出したい画面(コントローラー)で、受け取りたい箇所に合わせて、プロパティを設定する。
例、プロフィール画像(Data型→UIImage型)、ユーザー名(String型)
→画像表示するためには、Data型からUIImage型に変更が必要なため
var passedProfileImageData = Data()
var passedProfileImage = UIImage()
var passedUserName = String()
③userDefaultからキー値・何型で受け取るかを指定して、取り出す。
//userDefaultsから取り出す時は以下のように記述する
if UserDefaults.standard.object(forKey: "キーの名前") != nil {
userName = UserDefaults.standard.object(forKey: “キーの名前") as! String
④画像の場合、Data型からUIImage型に変更する
//Data型からUIImage型に変更する
passedProfileImage = UIImage(data: passedProfileImageData)!
初心者視点で、機能だけに絞って一連の流れを記述しています。
訂正等あればぜひご指摘ください。