What does the -ObjC linker flag do?

I have an app that works with and without the linker flag. However, without the linker flag, I get a very different behaviour when adding data to a view.


This flag causes the linker to load every object file in the library that defines an Objective-C class or category. While this option will typically result in a larger executable (due to additional object code loaded into the application), it will allow the successful creation of effective Objective-C static libraries that contain categories on existing classes.

From this Technical Q&A