On Sat, Jun 7, 2008 at 2:10 PM, Denis Bohm <[EMAIL PROTECTED]> wrote: > > On Jun 7, 2008, at 2:01 PM, Bill Bumgarner wrote: > >> Actually, any object oriented language that >> has the ability to inline methods such that they cannot be "out of lined" >> again at runtime cannot support the dynamism offered by Objective-C. > > Can you give a specific example of that specific point using some > Objective-C code?
Are you familiar with key-value observation? <http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html> With KVO you say, "I would like to be notified whenever property foo of object bar changes", and you can pass some options about what information you want. It's a controlled form of aspect-oriented programming (since you come from Java and might have run into that). It was added in 10.3. Implementation wise (and this is not to be relied on), when you begin observing an object, the object's class is dynamically subclassed, and the property accessors are overridden. The overrides call the original implementation and also do the notification of interested parties. The original object changes class so that it is now an instance of the subclass. When you stop observing, the object's class changes back to the original class. An inlining JIT would have trouble with this. -Ken _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]