Динамические свойства в области

Я начинаю работать с Realm на iOS 8 или выше и смотрю документацию в Realm. Я заметил, что перед всеми свойствами есть ключевое слово dynamic. Это требуется в Царстве? Я прочитал документацию Apple по ключевому слову, которое можно найти здесь. https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html

+22
источник поделиться
2 ответа

Да, это необходимо для нормальных var свойств. Из realm docs.

Для свойств модели Realm необходим атрибут dynamic var, чтобы эти свойства стали доступными для базовых данных базы данных.

Есть два исключения: List и RealmOptional свойства не могут быть объявлены динамическими, поскольку общие свойства не могут быть представлены в среде выполнения Objective-C, которая используется для динамической отправки динамических свойств и всегда должна быть объявлен с помощью let.

Динамическое ключевое слово - это то, что позволяет Realm получать уведомления об изменениях в переменных модели и, следовательно, отражать их в базе данных.

+36
источник

В Swift 3 мы объявили нашу собственность такой

dynamic var Name : String = ""

В Swift 4 мы объявили нашу собственность вот так

@objc dynamic var Name : String = ""
+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос