@ dynamic означает, что вы будете обеспечивать реализацию этих методов динамически во время выполнения.
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtDynamicResolution.html
содержит все детали, но в основном использование @dynamic означает, что вы обещаете предоставить реализации для обещанных свойств свойств во время выполнения.
В частности, посмотрите здесь;
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/Reference/Reference.html
для примера того, как вы сконструируете свой динамический метод и поместите его во время выполнения.
Базовые данные используют этот механизм для предоставления средств доступа. Это довольно удивительно круто, когда вы копаетесь в этом:)
И, как примечание, метапрограммирование в ObjC не для слабонервных, не отправляйте его, пока вы не вздрогните, иначе ваши пользователи пострадают.