在.h文件中是否总是需要@interface和@end?

时间:2016-08-11 08:35:26

标签: objective-c

我注意到从apple开发中心下载的示例代码中有一个奇怪的事情。示例代码为Footprint:具有核心位置的室内定位。 AAPLMKMapRecRotated.h文件中没有@interface和@end。但它在模拟器中运行良好。有谁能解释为什么?谢谢!

2 个答案:

答案 0 :(得分:0)

" @接口"和" @ end"只要你想要声明Objective-C类的接口,就必须这样做。如果您没有在标题中声明Objective-C类的界面,那么显然不需要它。如果在标题中声明三个Objective-C类的接口,则需要三次。如果在.m文件中声明Objective-C类的接口,那么该文件之外的任何人都无法看到它,那么您将它放入.m文件中。

答案 1 :(得分:0)

@interface ... @end声明一个ObjC类..不是所有.h文件也不是所有的Apple API都依赖于ObjC,很多C都是通过他们的框架使用的(CoreAudio,CoreMidi,CoreGraphic,GrandCentralDispatch ......)在那些框架.h文件中使用经典的C头,因此没有@interface .. @end ...