前提・実現したいこと
Realmswift初学者です。習熟をすすめています。
一つの変数ではDBへの登録は成功するのですが、二つ以上だと失敗します。
2つ以上のデータを登録し、データがすでに存在する場合は上書きを、データがない場合は追加をするようにしたいです。
また、片方を主キーとして登録をしたいです。
realmに2つ以上の変数を登録したいのです。
できれば、主キーを登録してデータを引き出せるようにしたいです。
同じ問題に当たっている方も多いかと思いますのでご教示いただければと思います。
発生している問題・エラーメッセージ
エラーメッセージ
Thread 1: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=10 "Migration is required due to the following errors:
- Property 'Todo.namae' has been added." UserInfo={NSLocalizedDescription=Migration is required due to the following errors:
- Property 'Todo.namae' has been added., Error Code=10}
swift5.2 試したこと realmの公式サイトでは第二引数が.modifiedになるように記述があるのですが、うまくいかないです。 ソースコード ソースコードは次のとおりです。 登録可能 Todo.swift import UIKit import RealmSwift class Todo: Object { @objc dynamic var text = "" } import UIKit import RealmSwift ViewCotroller.swift import UIKit import AudioToolbox import RealmSwift class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } let todo = Todo() // Get the default Realm let realm = try! Realm() todo.text = "○" try! realm.write { realm.add(todo) } 登録不可(Primarykey登録記述の有無にかかわらずエラーが出る Todo.swift class Todo: Object { // ID : プライマリーキー項目(項目名は任意です) @objc dynamic var namae = "" @objc dynamic var text = "" override static func primaryKey() -> String? { return "id" } } ViewCotroller.swift import UIKit import AudioToolbox import RealmSwift class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } let todo = Todo() // Get the default Realm let realm = try! Realm() todo.text = "○" try! realm.write { realm.add(todo, update: .all) //realm.add(todo) //realm.add(data1, update: true) //realm.add(data1, update: .modified) } ### 補足情報(FW/ツールのバージョンなど) Xcode Version 11.5 macOS Catalina 10.15.4 RealmSwift 5.0 ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。