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

import

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

include

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

@class

  • 仅仅是声明一个类名,并不会包含类的完整声明
  • 能解决循环包含的问题:当两个类文件有循环依赖关系 ( A 引用 B , B 引用 A ) 时,需要用 @class

import<> 和 import""

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

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

你可能感兴趣的:(#import、#include、@class、#import<>和#import""的区别)