Ключевое слово @dynamic в Objective-C говорит компилятору, что реализация геттера и сеттера для свойства будет предоставлена во время выполнения, а не во время компиляции.
Когда ты объявляешь свойство с @dynamic:
@synthesize@synthesize propertyName; // Компилятор генерирует методы доступа
@dynamic propertyName; // Методы доступа предоставляются во время выполнения
@synthesize инструктирует компилятор автоматически генерировать реализации геттера и сеттера@dynamic инструктирует компилятор доверять, что методы доступа будут существовать при выполнении кодаСамое частое использование @dynamic — это работа с Core Data и подклассами NSManagedObject:
@dynamic предотвращает генерацию компилятором конфликтующих методов доступаИспользование @dynamic означает, что нет безопасности на этапе компиляции. Если во время выполнения не будет предоставлен ожидаемый метод доступа, приложение упадёт с ошибкой unrecognised selector.
Ключевое слово @dynamic инструктирует компилятор автоматически генерировать реализации getter и setter, подобно @synthesize.
Новый — ещё не проверен сообществом
Вы