What’s the rationale behind placing #import statements in .m rather than .h files in Objective-C?
Apple examples bundle them in .m file unless object is used in interface declaration (.h), and docs state that this is correct (“In the interface file, you first import any required header files.”)
What’s confusing me is that .h is supposed to define the interface for the implementation, so #import would logically go to .h file instead of .m.
In any source file, you should only #import what you need to make that file valid for compilation. Keep in mind that your headers might be used by other classes, so you want to make them as lightweight as possible. This is also why it’s preferable to use @class for forward declarations of classes other than your superclass.