realm について教えてください。
データのクラスを、例えば以下のように定義します。
class MyData: Object { dynamic var dataID: String = "" dynamic var message: String = "" }
例えば、dataID = "1" でデータを realm に保存します。
その後、message に変更があったので、ID = "2"として realm に保存すると、dataID = "1" として保存していたデータが、dataID = "2" のデータとして上書きされてしまいます。
「一度 realm に保存したオベジェクトは追跡されていて、更新があると新規データではなく、元のデータに上書きする」んだろうなと理解しています。
(そこが便利なところなんだというのも分かるのですが)上記のような場合に、dataID = "1" のデータは保存したまま、dataID = "2" のデータとして新規に(別データとして)保存したいのです。
dataID をプライマリキーに設定してみたのですが、そうすると、データを realm に保存した後、(messageに変更があったので)プライマリキーである dataID を変更するだけで、例外処理となりアプリが落ちます。
「同じ一連のデータではあるのだけれども、内容が更新されたので、それを別データとして保存したい」という場合、realm ではどうすればいいのでしょうか?
非常に初歩的な質問なのかもしれませんが、教えてください。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。