質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1337閲覧

TextFieldに入力した値を辞書型で保存

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/06/15 13:58

編集2019/06/15 14:22

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 }

これで実行しても保存がされないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2019/06/15 14:01

学校の課題か何かでしょうか? 1から10までの回答を求めてもたぶん誰も答えてくれない(ここの規約)ので、まずテキストや市販の入門書等を読んで試行錯誤した上で、わからない点を具体的に書かれると良いと思います。
退会済みユーザー

退会済みユーザー

2019/06/15 14:08

コードを記載しました! アドバイスありがとうございました
gentaro

2019/06/15 14:11

コードの部分は```で囲ってないと怒るこわい人がたくさんいますので、とりあえず https://teratail.com/help ここを一通り目を通してください
退会済みユーザー

退会済みユーザー

2019/06/15 14:24

プログラミングが出来なさすぎて追加課題を出されたのですが、正直どう勉強すればいいかわかならい状況で、課題が全く進まないんです アドバイスありがとうございます。
gentaro

2019/06/15 14:28

事情はわかりましたが、自分が理解できている範囲で「こうなるはずだと考えてこうしたが、ここまで上手く行ったけどここがうまくいかない」という感じで具体的に質問しないと「ここは学校じゃない」と怒る人がいっぱいいます。 てか、ふつうに先生に聞くべきだと思います。先生の立場からしても、他人の手を借りて課題を完成させられても意味ないので。
takabosoft

2019/06/17 00:19

「保存時のキーと辞書のキーを混同しないように」ってどういう意味ですか?辞書のキーは"fruit"と"vege"と指示がありますが、保存時のキーは指示はないのですか?
fuzzball

2019/06/18 04:25

「保存がされない」というのはどうやって確認したのでしょうか?
退会済みユーザー

退会済みユーザー

2019/06/18 09:15

textfieldに入力した文字を打ち、保存ボタンを押した後、このアプリを終了し、履歴を消した後、このアプリを開くとオレンジ、キャベツの文字が消えています。消えずにこのまま残したいです
fuzzball

2019/06/18 09:21 編集

それだと、保存されていないのか、読み込まれていないのか、どちらなのか判断がつかないのではないでしょうか? ところで、readText(_:) はいつ呼ばれるのでしょうか?
退会済みユーザー

退会済みユーザー

2019/06/18 09:25

ありがとうございます。何が原因なのか詳しくわからないんです。 どこで呼ベばいいかもわからないんです
退会済みユーザー

退会済みユーザー

2019/06/18 09:27

いつ呼べばいいのかがわからないんです
退会済みユーザー

退会済みユーザー

2019/06/18 09:58

関連付けが間違っていました 無事解決しました。 ありがとうございました
guest

回答1

0

ベストアンサー

関連付けが間違っていました

投稿2019/06/18 09:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問