当我不包含头文件时会发生什么

时间:2010-11-06 07:11:10

标签: objective-c xcode

在xcode中,当我添加一个新的objective-c文件时,会出现一个复选框,其中显示的内容类似于“添加头文件”。在什么条件下我应该取消那个盒子,如果我这样做会怎么做?

2 个答案:

答案 0 :(得分:3)

您可以跳过任何不需要单独声明其任何符号的目标文件的头文件。

这在基于CLI的应用程序中相当常见。 “C运行时”(例如crt1.o)知道如何调用main,因此您通常可以省略定义.c函数的main文件的头文件(假设您的应用程序只有一个源文件,或者没有与main在同一文件中定义的其他源文件引用符号。

UDPEcho sample中的main.m文件是不需要.h文件的Objective C文件的示例。

基于Cocoa的应用程序中的大多数“模块”都需要头文件,因为它们需要将至少一个符号导出到应用程序的其他位。有时您需要向另一个文件中定义的类的实例发送消息,有时 Interface Builder (或其他)需要知道您的类中可用的操作和插座等等。提供此信息的最简单方法是通过头文件。

答案 1 :(得分:2)

选中此复选框是否需要其他.m或.c文件才能访问您正在创建的.m文件中定义的符号。当您选中复选框时,这些符号需要在为您创建的.h文件中声明。例如,其他文件中使用的类声明将属于您的头文件。