前提・実現したいこと
RealmSwiftを使ってデータの永続化を行っています。
realm.writeだけでResults型の変数に代入される原理がよくわかりません。
発生している問題
まずはじめに起動時にviewDidLoadでResults型の変数に代入しているのでTableViewに表示されている原理はわかります。
private var realmItem: Results<RealmClass>! override func viewDidLoad() { super.viewDidLoad() do{ self.realmItem = try Realm().objects(RealmClass.self) }catch{ print("error") } tableView.delegate = self tableView.dataSource = self }
ですがデータを追加する際にResults型realmItemに代入しなくてもrealm.writeだけでrealmItemにデータが代入されている原理がわかりません。
@IBAction func tapButton(_ sender: UIBarButtonItem) { let realm = try! Realm() let realmClass = RealmClass() try! realm.write { realmClass.name = "dummy" realm.add(realmClass) } tableView.reloadData() }
tableView.reloadData()の前に
realmItem = try Realm().objects(RealmClass.self)
に代入しなくても何故追加されるのか教えて欲しいです。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Xcode 11.0
Swift 5.0
Realm 3.18.0
RealmSwift 3.18.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/17 23:42