私は4つのテキストフィールドをamyアプリケーションに持っています。私は何かを書くことができ、それは動作しますが、私が次のページに行くと、すべてのデータが消去されます。データはどのように保存できますか?Swiftにそのエントリを保存するためにUITextFieldをプログラミングする方法
答えて
のiOSアプリは、MVCデザインパターンに従ってください。それはModel View Controllerの略です。
モデルは、データを保存する場所です。ビューは、データを表示する場所です。コントローラは、制御ロジックを配置する場所です。一般的に、モデルから情報を取り出し、ビュー・オブジェクトに表示し、ビュー・オブジェクトから情報を収集してモデルに戻します。
それぞれのテキストフィールドは、ビューオブジェクトです。情報を表示し、ユーザーから情報を収集します。そこにデータを格納すべきではありません。
UITextField
の代理人として自分自身を設定し、ユーザーがテキストを入力したことを示す1つ以上のメソッドを実装する必要があります。
たとえば、ユーザーが編集を終了すると、textFieldDidEndEditing
が呼び出されます。
ユーザーがテキストフィールドにデータを入力し終えたら、テキストフィールドのtextプロパティを照会し、そのデータをView Controllerのモデルにコピーする必要があります。これは、ユーザー・データを保持するビュー・コントローラー内のインスタンス変数のグループと同じくらい簡単です。
次に、ユーザーがページを離れるとモデルデータを配置する場所が必要です。どのようにするかは、アプリで何をしているかによって異なります。
最後に、ユーザーがこのページを再度表示すると、保存したデータをフェッチして、さまざまなビューオブジェクトに再表示する必要があります。
詳細を提供しない限り、私は実際にはもっと具体的な助けをすることはできません。
問題は、永続ストレージがないことです。 iOSでは、何かがデバイスに保存されていないと、View Controllerを離れると簡単に失われる可能性があります。より正確には、変数は、変数を保持しているオブジェクトの割り当てが解除されたとき、または値が明示的に変更されたときに値を失います(他の回答を参照)。
たとえば、特定のセグの種類によって、VCの新しいインスタンスが作成され、データが失われる可能性があります。値を永続的に保存すると、これらの問題を回避することができます。 :NSUserDefaults(かなり小さい情報のための簡単な永続ストレージを使用して無線LANが必要とされるが
1)オンラインデータベースを使用して()
2):永続ストレージの面では
、いくつかのオプションがあります避ける画像)
3)コアデータ(オンデバイスの永続的なストレージ:)より複雑なく、はるかに強力
NSUserDefaultsで始めることをおすすめします。なぜなら、これは簡単に学習できるからです。ここで
あなたはNSUserDefaultsに書き込むことができる方法です。
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(myArray, forKey: "arrayKey")
そして、これはあなたがデータを取得する方法です。
var retrievedArray = defaults.objectForKey("arrayKey") as [String]
私はそれが文字列の配列であると仮定しています。 配列にデータを追加するときは、NSUserDefaultsにデータを格納してから、データを取得する必要があるときはそこから取り出します。
また、これにより、他のViewControllerのこの情報にアクセスできるようになります。また、アプリが終了した後もアクセスできます。言い換えれば、データはそこに残っています。もちろん、上書きすることはもちろん、アプリを削除して削除することもできます。
はこれを見てください: ここ https://www.hackingwithswift.com/read/12/2/reading-and-writing-basics-nsuserdefaultsあるユーザーが「保存」ボタンを押すときに実行する必要がありますコード:
var myText = myTextField.text (or whatever you called it)
NSUserDefaults.standardUserDefaults().setObject(myText, forKey: "myKey")
ご質問は?幸せに助けてください:)
- 1. 保存したチェックリストをtableview swift iosに表示する方法
- 2. UserDefaultsまたはkeychainにオブジェクトを保存する方法 - Swift 3
- 3. CoreDataに複数のエントリを保存する方法は?
- 4. NSUserDefaultsにデータを保存するUITextFieldのデフォルト値を設定する方法
- 5. Cプログラミング - 配列内のユーザーの値を保存するためにWhileループを使用する方法
- 6. jsonデータのnsuserdefaultを保存して、それを次のView Controller Swift 3.0に保存する方法は?
- 7. iPhoneプログラミングで使用するためにpdfファイルからsqliteにデータを保存する方法
- 8. URLに保存するためにデータを渡す方法
- 9. whileループでパースするために保存するswift
- 10. 埋め込みDBに多数のエントリを保存する
- 11. Swift - インストール前にアプリにjsonファイルを保存する方法
- 12. Swiftのチェックボックスの状態をコアデータに保存する方法は?
- 13. PDFを保存するために保存ダイアログボックスを開く方法
- 14. Swift:特定の日付にデータを保存する方法
- 15. Swift 3のNSUserDefaultsにデータを保存する方法は?
- 16. SwiftのCoreDataに場所ブレッドクラムを保存する方法
- 17. MKPlacemarkをiosのRealmに保存する方法(Swift 3)
- 18. 座標をFirebase Swift 2に保存する方法
- 19. コアデータに画像を保存する方法SWIFT
- 20. SwiftにURLを永久保存する方法3
- 21. Swift 3でFirebaseに多値データを保存する方法は?
- 22. UITextFieldテストを保存する最良の方法:textFieldShouldReturnまたはtextFieldDidEndEditing
- 23. 結果を保存する最良の方法 - 動的プログラミング
- 24. 構造体へのエントリを保存する方法
- 25. UITextField入力を保存する
- 26. テキストファイルに保存されたキーを保存する方法
- 27. ケーキを使用してテーブルに複数のエントリを保存する方法
- 28. Djangoを保存するために私の見解を改善する方法
- 29. エントリと日付のデータをtkinterの各列の下に保存する方法
- 30. 方法を定義するためのプログラミングは、アプリケーションに
私はちょうどボタンをデータを保存するように指示することができたと思った。なぜ私はそれをしないのですか? – sve
できます!ボタンがクリックされたら、NSUserDefaultsにデータを保存するコードを少し実行してください:) – GJZ
正確なコードを入力してください。私はオンラインで検索しているし、働いている行のいくつかを発見していない。 – sve