What does @dynamic do in Objective-C?

user142019 picture user142019 · Jan 7, 2011 · Viewed 39.5k times · Source

Objective-C has a feature called @dynamic.

Google only lists results about dynamic typing.

I rarely see this in code and I don't understand what it is used for. Can anyone explain me this? Thanks.

Answer

Penang picture Penang · Jan 7, 2011

@dynamic means “my class will figure out how to respond to this at runtime.” Uses a runtime mechanism for an object to intercept messages it normally wouldn’t respond to. In the case where a Core Data db is used to store persistent data, NSManagedObject turns these into calls to -valueForKey: and -setValueForKey:.

Take a look at Lecture 12 (Fall 2010) of Stanford's iPhone development course.