Я работаю на iOS, и это экономит продукт.и у этого продукта есть еще кое-что внутри его модели
. Предположим, что следующая модель
@objcMembers public class ProductModel : Object, Codable {
dynamic var Id : Int = 0
dynamic var Name : String = 0
dynamic var Price : Double = 0.0
}
, а другая модель (CustomerModel), которая содержит ProductModel, выглядит следующим образом
@objcMembers public class CustomerModel : Object, Codable {
dynamic var Id : Int = 0
dynamic var Name : String = 0
var Product : ProductModel? = nil
}
Теперь, когда я сохраняю клиента с продуктом внутри, я вижу, что в Realm он успешно сохраняется.Но если и только если этот объект еще не находится в Сфере,
Предположим, это
let customer1 = CustomerModel()
customer1.Id = ...
customer1.Name = .....
customer1.Product = product1
Теперь эти данные клиента сохранены.Но я получаю исключение, если пытаюсь сохранить следующие данные
let customer2 = CustomerModel()
customer2.Id = ...
customer2.Name = .....
customer2.Product = product1
Просто обратите внимание, что customer2 также хочет сохранить информацию о продукте, которая уже сохранена в Realm, а именно «product1».
Так, как справиться с этой ситуацией.
Я пытаюсь сохранить данные с помощью следующей универсальной функции для объектов области
func save <T: Object> (_ obj : T){
do {
try realmObj.write{
realm.add(obj)
}
}catch{}
}
Вопрос 2:
Также я хочу получитьВсе клиенты, я знаю, как это сделать, но проблема в том, что он никогда не получает продукт внутри клиента.Я вижу в Realm DB Browser, что клиент, который сохраняется вместе с продуктом, в этой таблице также содержится ссылка на продукт.Но когда я пытаюсь заполучить всех клиентов, у этого клиента есть только данные клиента, а не детали продукта.Тогда как это должно быть там.