現在、UserDefaultsを使ってテキストに入力した文字をラベルに反映させ、保存するという単純なものを作りましたが。これをRealmを使って同じようにさせたいのですが、本日使い始めたのでどのようにRealmを使えばいいのかわかりません。
1:Realmを使用するためにクラス作成
2:データを保存
3:データの呼び出し
これだけでいけるとは思うのですが、まだそこまで理解ができていません。できればどこをどのように変更すればいいのか教えていただけると助かります。
swift
1import UIKit 2import RealmSwift 3 4class SubViewController: UIViewController, UITextFieldDelegate { 5 6 @IBOutlet weak var textField: UITextField! 7 @IBOutlet weak var label: UILabel! 8 9 var testText:String = "default" 10 // UserDefaults のインスタンス 11 let userDefaults = UserDefaults.standard 12 13 override func viewDidLoad() { 14 super.viewDidLoad() 15 // textFiel の情報を受け取るための delegate を設定 16 textField.delegate = self 17 // デフォルト値 18 userDefaults.register(defaults: ["DataStore": "default"]) 19 20 label.text = readData() 21 } 22 23 func textFieldShouldReturn(_ textField: UITextField) -> Bool{ 24 25 testText = textField.text! 26 27 label.text = testText 28 // キーボードを閉じる 29 textField.resignFirstResponder() 30 31 saveData(str: testText) 32 33 return true 34 } 35 36 func saveData(str: String){ 37 // Keyを指定して保存 38 userDefaults.set(str, forKey: "DataStore") 39 userDefaults.synchronize() 40 } 41 42 func readData() -> String { 43 // Keyを指定して読み込み 44 let str: String = userDefaults.object(forKey: "DataStore") as! String 45 46 return str 47 } 48}
本当に簡単ですが、テキストに入力するとデータを保存、ラベルに反映されページを遷移してもラベルにはすでに入力された文字が表示される。
この質問内容だけだと、realmのドキュメントを読むべしとか、やって欲しいことを丸投げしてるとご指摘を受けるのではないでしょうか。まずは1からでも良いのでご自身でどのように実現するのか・実現しようとしたのか試行過程などをご提示された上で、不明点をお聞きになられてはいかがでしょうか。
回答1件
あなたの回答
tips
プレビュー