OC导入框架方式#import、@import的区别

#import负责导入程序所需的文件的信息导入到程序中,随着程序所需的文件越来越多,程序就要导入更多的文件,这就带来了越来越长的编译时间,而且有大量重复的。为了解决这个问题可以采用以下办法解决,创建.pch文件,在该文件中加入以下代码。

#ifdef __OBJC__
    #import <Foundation/Foundation.h>
#endif

此时仍然会导入Foundation框架,但是可以很大程度的加快编译速度。但是这也会带来一个新的问题,维护.pch文件是很低效的。

因此引入了 @import指令

@import Foundation;

这段代码告诉编译器需要使用Foundation框架,之后编译器会优化预编译头文件和缓存编译结果的过程。同时,文件中不用再明确引用框架--编译器会根据@import自动导入相应框架。

需要注意的是该指令现阶段还只能用于Apple提供的框架,如果导入的是自己的类或框架还是需要#import。

posted @ 2016-08-09 09:56  PaulpauL  阅读(4686)  评论(0编辑  收藏  举报