Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Objective-C is a mixture of both strongly statically and dynamically typed aspects. Its C-based origins are statically typed and bound, while the Objective-C object-oriented features are, at their heart, very dynamic and perform late, or dynamic, binding of message selectors to method implementations.
The ease of class introspection and modification at runtime enables a number of interesting programming techniques to be implemented with ease. Message forwarding in particular enables the creation of proxy or delay loading objects to be easily developed in a maintainable way that doesn’t require modifications to the proxy class each time the proxied class is updated to include a new method or property. In the next chapter, we dive into memory management issues in Objective-C.