保存ボタンをタップするとtab01というUITextFieldに入力した文字を保存したいのですが
保存ボタンをタップした後に、一度アプリを落とし、再度アプリを起動すると
初期で表示している文字に戻ってしまい困っています。
class ConfigViewController: UIViewController, UITextFieldDelegate{ // テキストフィールド @IBOutlet weak var tab01: UITextField! // 保存ボタン @IBOutlet weak var SaveButton: CustomButton! override func viewDidLoad() { super.viewDidLoad() tab01.delegate = self // Do any additional setup after loading the view. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } // ユーザーデフォルトに保存する @IBAction func memorizeText(_ sender: Any) { let writtenText = tab01.text! as String let defaults = UserDefaults.standard defaults.set(writtenText, forKey: "tab01Text") view.endEditing(true) } // 保存したテキストをタブ設定のTextfieldに表示する @IBAction func readText(_ sender: Any){ let defaults = UserDefaults.standard let value = defaults.string(forKey: "tab01Text") tab01.text = value }
よろしくお願いいたします。
参考にした記事
UserDefaultsを使ったテキストの保存と読み込み
再度アプリを起動したあとreadTextのボタンを押しても保存したテキストが表示されないということですか?
説明不足ですみません。readTextというボタンは実装せず、保存ボタンだけを実装してTextFieldに入力した情報を保持して、アプリ再起動後も表示させたいです。
でしたら、readTextの中身をviewDidLoadに移動して見てください。
先ほど「@IBAction func readText〜」からviewDidLoadに移動させたのですがエラーが出てしまい、違うのかなと思っていたのですが、tyobigorouさんの指示通りにreadTextの中身だけを移したら無事に保存することが出来ました。ありがとうございます!助かりました。
回答1件
あなたの回答
tips
プレビュー