#import、#include、@class、#import<>和#import""的区别

转自:http://www.jianshu.com/p/7e0dee7f84b2
import

是 Objective-C 导入头文件的关键字,完整地包含某个文件的内容
会自动导入一次,不会重复导入
不会引发交叉编译; 因为在 Objective-C 中会存在C/C++和Objective-C 混编的问题,如果用 #include 引入头文件,会导致交叉编译。
include

C/C++ 导入头文件的关键字,完整地包含某个文件的内容
@class

仅仅是声明一个类名,并不会包含类的完整声明
能解决循环包含的问题:当两个类文件有循环依赖关系 ( A 引用 B , B 引用 A ) 时,需要用 @class
后续贴出代码 ........
import<> 和 import""

<> : 引用系统文件,它用于对系统自带的头文件的引用,编译器会在系统文件目录下去查找该文件.

"": 用户自定义的文件用双引号引用,编译器首先会在用户目录下查找,然后到安装目录中查

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容