The @dynamic directive is used to tell the compiler that the setters and getters for a property are implemented not by the compiler, but at runtime. This is useful when you are using a library such as Core Data, which dynamically creates the getters and setters for you.
For example, if you have a property called “name” in your class, you could use the @dynamic directive to tell the compiler that the getter and setter for the property will be handled by Core Data at runtime:
@dynamic name;