在头文件中引用头文件会在编译时就完全得知所引入头文件的所有接口信息,例如在A.h中导入B.h,将来如果在SubA.h中导入了A.h,隐式地导入了B.h,增加不必要的编译,内聚度低;
在实现文件中导入头文件,编译器只会在需要的时候得知类的接口信息,会减少编译时间,并且类之间的耦合度会降低.h 里用到的类型尽量用 @class 声明,然后在 .m 里 import。只有两种情况是一定要在 .h 里 import 的:1. 继承的父类 2. 实现某个 protocol。