我在Realm中有实体:
class DBOfflineOrder: Object {
dynamic var date: String = "" //
dynamic var orderDescription: String = ""
dynamic var email: String = ""
dynamic var phone: String = ""
dynamic var login: String = ""
dynamic var number: String = ""
dynamic var amount: Double = 0.0
dynamic var discount: Double = 0.0
let products = List<ProductOffline>()
}
正如您所注意到的,它没有主键,因为它没有 id。
当我打电话给以下电话时:
let realm = Repository.initRealm()
realm.beginWrite()
let offlineOrder = DBOfflineOrder(order: _order)
realm.add(offlineOrder, update: true)
try! realm.commitWrite()
我崩溃了。它说:
'DBOfflineOrder' 没有主键,无法更新
但我不需要 pk,也没有可能充当那样的属性。
要更新领域对象,必须具有主键。因此,如果您不想更新对象,则可以使用 realm.add(offlineOrder)
.