协议声明以分号结束?

时间:2016-01-04 20:09:36

标签: objective-c

@protocol ZZCapturePipelineDelegate;
@protocol ZZMediaManagerProtocol;
@protocol ZZCapturePipelineProtocol <NSObject>
...
@end

我理解ZZCapturePipelineProtocol是此处声明的协议。但是我从未在一个文件中看到过多个@protocol的语法。由于前两个协议以分号结尾,我假设它们的目的是导入或引用它们各自的.h文件?

1 个答案:

答案 0 :(得分:3)

这两个被称为forward declarations - 即您通知编译器协议存在,但不导入已定义它们的标头。这样可以缩短构建时间,因为编译器不必插入+编译其他头文件的内容。

您可以找到更多详情here