私はプライマリキーを定義していない複数のオブジェクトを持っています(私たちのサーバはプライマリキーを扱い、オフラインモードではプライマリキーを提供できません)私は、データを変更した場合update
メソッドを使用するので、私は次のことを試してみました:レルム:オブジェクトの削除と追加:オブジェクトが削除または無効にされました
func updateTest() {
let myObjects = realm.objects(MyObject.self).filter("id = 1"); // id is NOT the primary key from realm!
var myObject: MyObject!;
if (myObjects.count > 0) {
myObject = myObjects[0];
}
if (myObject != nil) {
try! self.realm.write() {
self.realm.delete(self.myObject);
}
// modify
self.myObject.status = "waiting";
try! self.realm.write() {
self.realm.add(self.myObject); // crash
}
}
}
しかし、私は今、オブジェクトを追加したいとき、私は得る:
Terminating app due to uncaught exception: 'RLMException', reason: 'Object has been deleted or invalidated.'
ここだから、いくつかの質問:
を1つの結果だけを選択する可能性はありますか?
プライマリキーではないフィールド名を指定してオブジェクトを更新する可能性はありますか?
このエラーを発生させずにオブジェクトを削除して読み取るにはどうすればよいですか?
ダミーのプライマリキーを実装することは理にかなっていますか?あなたが何をしようとして
ありがとうございました。 – Mulgard