Realm Relation как реализовать - PullRequest
       6

Realm Relation как реализовать

0 голосов
/ 10 декабря 2018

Я работаю на 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, что клиент, который сохраняется вместе с продуктом, в этой таблице также содержится ссылка на продукт.Но когда я пытаюсь заполучить всех клиентов, у этого клиента есть только данные клиента, а не детали продукта.Тогда как это должно быть там.

1 Ответ

0 голосов
/ 10 декабря 2018

Просто поставьте ключевое слово dynamic перед своей собственностью

dynamic var Product : ProductModel? = nil 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...