TextFieldに入力した値を辞書型で保存して、アプリを再度開いても保存した値が入力されてる状態のアプリを作らないといけないのですが、どのように作ればいいのかがわかりません。
値を読み込み、保存するときに何をつかうか
- 辞書で保存する際にkeyは"fruit"と"vege"の二種類が必要
- 保存時のキーと辞書のキーを混同しないように
作る際にこの条件にそってつくりたいです。
これがイメージしているアプリです、
Textfiledに入力した文字をこのアプリを再起動してもこの文字を表示させたいです。
根本的にどのようにコードを書けばいいかが全くわからない状態です。
import UIKit class ViewController: UIViewController, UITextFieldDelegate{ @IBOutlet weak var kudamono: UITextField! @IBOutlet weak var yasai: UITextField! @IBOutlet weak var kudamonoLabel: UILabel! @IBOutlet weak var yasaiL: UILabel! @IBOutlet weak var hozon: CustomButton! let defaults = UserDefaults.standard // var kudamono: Dictionary<String, Int> = [:] override func viewDidLoad() { super.viewDidLoad() kudamono.delegate = self // yasai.delegate=self as? UITextFieldDelegate } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } @IBAction func memorizeText(_ sender: Any) { let writtenText = kudamono.text! as String let defaults = UserDefaults.standard defaults.set(writtenText, forKey: "kudamonoText") view.endEditing(true) } @IBAction func readText(_ sender: Any){ let defaults = UserDefaults.standard let value = defaults.string(forKey: "kudamonoText") kudamono.text = value }
これで実行しても保存がされないです。
学校の課題か何かでしょうか?
1から10までの回答を求めてもたぶん誰も答えてくれない(ここの規約)ので、まずテキストや市販の入門書等を読んで試行錯誤した上で、わからない点を具体的に書かれると良いと思います。
コードを記載しました!
アドバイスありがとうございました
コードの部分は```で囲ってないと怒るこわい人がたくさんいますので、とりあえず
https://teratail.com/help
ここを一通り目を通してください
プログラミングが出来なさすぎて追加課題を出されたのですが、正直どう勉強すればいいかわかならい状況で、課題が全く進まないんです
アドバイスありがとうございます。
事情はわかりましたが、自分が理解できている範囲で「こうなるはずだと考えてこうしたが、ここまで上手く行ったけどここがうまくいかない」という感じで具体的に質問しないと「ここは学校じゃない」と怒る人がいっぱいいます。
てか、ふつうに先生に聞くべきだと思います。先生の立場からしても、他人の手を借りて課題を完成させられても意味ないので。
「保存時のキーと辞書のキーを混同しないように」ってどういう意味ですか?辞書のキーは"fruit"と"vege"と指示がありますが、保存時のキーは指示はないのですか?
「保存がされない」というのはどうやって確認したのでしょうか?
textfieldに入力した文字を打ち、保存ボタンを押した後、このアプリを終了し、履歴を消した後、このアプリを開くとオレンジ、キャベツの文字が消えています。消えずにこのまま残したいです
それだと、保存されていないのか、読み込まれていないのか、どちらなのか判断がつかないのではないでしょうか?
ところで、readText(_:) はいつ呼ばれるのでしょうか?
ありがとうございます。何が原因なのか詳しくわからないんです。
どこで呼ベばいいかもわからないんです
いつ呼べばいいのかがわからないんです
関連付けが間違っていました
無事解決しました。
ありがとうございました
回答1件
あなたの回答
tips
プレビュー