The runtime system is a key element of the Objective-C platform. It’s what implements the dynamic features and object-oriented capabilities of the language. Its structure enables you to develop Objective-C code without being exposed to the internals of the runtime, yet also provides a public API that enables you to write code to directly invoke runtime services.
In the last chapter, you reviewed the dynamic features of Objective-C; in this one, you’ll explore the architecture and design of the runtime system and how it implements these features. You’ll identify the runtime’s major components, examine key implementation details, and then look at how your code interacts with the runtime, both at compile time ...