导入头文件与导入源文件

时间:2015-07-29 08:17:37

标签: objective-c import header-files

在头文件中使用#import的一般规则是什么,而不是在源文件中使用#import

2 个答案:

答案 0 :(得分:2)

通过#import标题,您可以创建依赖项。作为“一般规则”,最小化依赖性是很好的。

除了放置#import之外,还有更多内容。几句话:

  1. 尽可能将少量定义/ properties / imports / ...放在标题中; ergo,尽可能多地移动到源文件。标头是模块/类的公共API,您希望将其保持为干净/最佳点。这样可以避免实际上不必要的各种依赖。

  2. 添加@class ClassYouNeed;(通常在您真正需要的#import之下)而不是#import "ClassYouNeed.h"通常就足够了。这是仅将该类用作类型,而不是ClassYouNeed.h中的其他定义。通常,您需要在标头中添加@class ClassYouNeed;,然后在源文件中执行完整的#import ClassYouNeed.h,因为在源文件中,您通常需要的不仅仅是类/类型。编译器会为你排序。

答案 1 :(得分:1)

在头文件中,仅导入头文件本身(接口)所需的头,而不是导入实现。在源文件(实现)中,导入相应的头文件和仅为实现所需的任何其他头文件。

这样,当外部世界包含您的标题时,它只会公开与其界面相关的内容,而不是与实施相关的内容。