我知道这是一般性问题,但我对你的意见感兴趣:
有人在那里只定义.m文件中的所有内容吗?
顺便说一下>并不是说我打算不使用.h文件,只是想了解它背后的想法!
因为Objective-C依赖于标准C基础结构,其中每个编译单元(.m)都是单独编译的,然后所有编译单元都链接在一起.
这意味着,Objective-C的编译器的静态类型检查阶段将只需要的.h文件就知道声明的类的特性(例如,方法的签名),但只是为了确保它应该是一切都被使用,这这就是为什么你#import在其他源文件中需要你在标题中声明的内容.
如果你有A.h/.m和B.h/.m它使用你能想到的合同类似的头文件的:"如果你想使用,我将在编译阶段结束链接的二进制代码,有什么能够提供在此描述头文件,这是你唯一应该知道的事情"