在头文件中使用#import
的一般规则是什么,而不是在源文件中使用#import
?
答案 0 :(得分:2)
通过#import
标题,您可以创建依赖项。作为“一般规则”,最小化依赖性是很好的。
除了放置#import
之外,还有更多内容。几句话:
尽可能将少量定义/ properties / imports / ...放在标题中; ergo,尽可能多地移动到源文件。标头是模块/类的公共API,您希望将其保持为干净/最佳点。这样可以避免实际上不必要的各种依赖。
添加@class ClassYouNeed;
(通常在您真正需要的#import
之下)而不是#import "ClassYouNeed.h"
通常就足够了。这是仅将该类用作类型,而不是ClassYouNeed.h
中的其他定义。通常,您需要在标头中添加@class ClassYouNeed;
,然后在源文件中执行完整的#import ClassYouNeed.h
,因为在源文件中,您通常需要的不仅仅是类/类型。编译器会为你排序。
答案 1 :(得分:1)
在头文件中,仅导入头文件本身(接口)所需的头,而不是导入实现。在源文件(实现)中,导入相应的头文件和仅为实现所需的任何其他头文件。
这样,当外部世界包含您的标题时,它只会公开与其界面相关的内容,而不是与实施相关的内容。