The iOS Runtime is built on top of the following major modules:
This is our own custom data format for listing the iOS APIs we are aware of (may process). It stores the minimal required information and provides small size and highly efficient read access. The iOS supports type introspection to some extent but along with the C APIs embedded all the way in the native APIs we had to store a lot of extra information. The Metadata is pre-generated at compile time from the SDK header files and embedded in the application package (ipa).
So instantiation of UIView looks like:
UIView *view1 = [[UIView alloc] init]; // Or with the short-cut UIView *view2 = [UIView new];
var view1 = UIView.alloc().init(); // Or with the short-cut var view2 = UIView.new();