现在的Objective-C类的数量非常庞大,一般来说需要用到系统框架的时候,都会使用#import命令来引入,#import命令会自动引入框架的全部头文件,这样,不再需要单独引入某个类的头文件。但是这样做的话,当框架中的类以及框架越来越多的时候,就会显得很臃肿甚至降低效率。为了提高效率,pch文件应运而生,作用就是第一次编译时,预编译pch文件中的列出的框架并缓存,这种做法会提高效率。
但是pch文件仍然不能很好的提高效率,维护pch文件低效耗时。所以又出现了@import,这个命令高速编译器需要使用什么框架,之后编译器就会优化预编译头文件和缓存编译结果的过程。同时,文件中不用再明确引用框架,编译器会根据@import自动导入响应的框架。
值得注意的是,只有苹果官方的框架可以使用@import命令,第三方均不可以,可以肯定,苹果官方未来会越来越开放@import的使用。