如何在Objective-C中重复导入标题

如何在Objective-C中重复导入标题,objective-c,recursion,import,include,compilation,Objective C,Recursion,Import,Include,Compilation,好吧,这可能是一个愚蠢的问题,但为什么我可以这样做: objectA.h #import <objectB> #import <objectC> objectA.m #import <ObjectA.h> objectA.h #进口 #进口 反对A.m #进口 在ObjectA.m中,是否可以访问ObjectB和OBjectC定义? 必须导入每个实现文件中使用的所有内容是愚蠢的。 我是否遗漏了一些明显的内容?与其在.h文件中导入头文件,不如对需要在头

好吧,这可能是一个愚蠢的问题,但为什么我可以这样做:

objectA.h

#import <objectB>
#import <objectC>

objectA.m

#import <ObjectA.h>
objectA.h
#进口
#进口
反对A.m
#进口
在ObjectA.m中,是否可以访问ObjectB和OBjectC定义? 必须导入每个实现文件中使用的所有内容是愚蠢的。
我是否遗漏了一些明显的内容?

与其在.h文件中导入头文件,不如对需要在头文件中声明的对象使用@class声明,然后在.m文件中导入需要的头文件

不过,我不确定这是否是你要问的


这一点在本文件中已详细讨论过,您可以对需要在头文件中声明的对象使用@class声明,而不是在.h文件中导入头文件,然后在.m文件中导入所需的头文件

不过,我不确定这是否是你要问的

这一点在这篇文章中有更详细的讨论,你可以这样做,而且偶尔也会有意义——前提是这些定义以一种真正属于一起的方式耦合在一起

您不应该引入虚假的编译依赖项,只是为了在某个实现文件中保存一些击键。

您可以这样做,而且偶尔也会有意义——前提是这些定义以一种真正属于一起的方式耦合在一起


你不应该做的是引入虚假的编译依赖项,只是为了在某个实现文件中保存一些击键。

@Abizem你帮我省了几个小时的麻烦。@Abizem你帮我省了几个小时的麻烦。