Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

dynamic var Name : String = ""

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

@objc dynamic var Name : String = ""