2016-04-07 2 views
2

Я новичок в королевстве, раньше я использовал MagicalRecord.Как настроить геттер и сеттер в Realm Swift?

В MagicalRecord я могу обрабатывать функцию импорта или даже устанавливать некоторые отображенияKeys для нескольких имен кандидатов.

Я хотел бы настроить некоторые свойства моего объекта Realm.

Я нашел DynamicObject, который выглядит так, как я хочу. Однако я понятия не имею, как его использовать.

ответ

2

Чтобы настроить ваши геттеры и сеттеры с помощью Realm Swift, вам необходимо определить простой базовый хранимый объект. Затем вы можете получить доступ к этому свойству из другого, которое вы определяете поверх него с помощью настраиваемых сеттеров и геттеров, как показано ниже.

public class Foo : Object { 
    private dynamic var _bar: Int 

    public var bar: Int { 
     get { 
      return _bar + 1 
     } 
     set { 
      _bar = newValue - 1 
     } 
    } 
} 

Обратите внимание, что при использовании Свифта willSet или didSet с Realm Swift может не работать, как вы ожидаете. Они запускаются только для автономных автономных объектов. Как только вы сохраняете объект или извлекаете постоянный объект, все геттеры и сеттеры переопределяются для прямого доступа к сохраненным значениям.


DynamicObject не то, что вы хотите использовать. Это предназначено для прецедентов, где у вас нет сильных гарантий по вашей схеме объектов и вам нужно иметь дело с неструктурированными данными или базами данных, которые вы сами не создали.

Смежные вопросы