1

我想知道是否可以导入头文件,但不包含该头文件中包含的任何头文件。

假设我有导入 B 类的 A 类。在 B 类中,我导入 C 类。有什么办法可以从 A 类中隐藏 C 类?

4

1 回答 1

1

不,你不能这样做:一旦你导入一个文件,它的所有导入也会进来。

但是,如果您只想使用ClassA,则可以在自己的标头中前向声明ClassA它,而不是导入的标头:

@class ClassA;

现在可以制作 type 的变量ClassA*ClassA*用作返回类型或参数类型等。同时,ClassA不会加载 's header 的依赖项。

一般而言,减少在标头中导入的标头数量是一个好主意,例如将与实现(而不是接口)相关的导入移动到 .m 文件中,并使用类扩展

于 2012-05-17T14:51:55.763 回答