作りたいもの
ここ一ヶ月ほどRealmを使って色々と勉強していたのですが、考えている内によくわからなくなってしまったので質問いたします
今までは複数のオブジェクトが存在するToDoアプリのようなものを作っていたのですが、今回はアプリに設定したテキストを保存しておきたいため、ToDoアプリのようにその都度新しいオブジェクトを作成するのではなく、最初に生成したオブジェクトを更新していく形にしようとしています
わからないこと
これまでは
swift
1let realm = try! Realm() 2 var dataListArray = try! Realm().objects(RealmDataList.self) 3 var realmDataList: RealmDataList! 4 5realmDataList = dataListArray[0]
のようにして値を取得していたのですが、今回は複数のオブジェクトは存在しないため、以下のようなコードでできるかと思ったのですが、入力した文字が一度はRealmに保存されているのはプリントでわかるものの、再びViewDidLoadが呼ばれると消えてしまいます
swift
1class AppDetail: Object { 2 3 @objc dynamic var memoText = "" 4}
swift
1class DetailViewController: UIViewController { 2 3 let realm = try! Realm() 4 let appDetail = AppDetail() 5 6 7 @IBOutlet weak var memoTextView: UITextView! 8 9 10 11 override func viewDidLoad() { 12 super.viewDidLoad() 13 14 // Do any additional setup after loading the view. 15 16 memoTextView.text = appDetail.memoText 17 } 18 19 @IBAction func returnButton(_ sender: Any) { 20 21 try! realm.write { 22 appDetail.memoText = memoTextView.text 23 realm.add(appDetail) 24 25 print(appDetail.memoText) 26 self.dismiss(animated: true, completion: nil) 27 } 28 29 } 30 31 32}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/09 05:52