iPhone - 在不导入头文件的情况下符合协议?

Osc*_*mez 0 iphone import objective-c

最近我下载了开源项目zbar,项目本身与我的问题无关,我仍然无法弄清楚是什么在他的viewcontroller中他能够做到这一点:

//
//  EmbedReaderViewController.h
//  EmbedReader
//
//  Created by spadix on 5/2/11.
//

#import <UIKit/UIKit.h>

@interface EmbedReaderViewController
    : UIViewController
    < ZBarReaderViewDelegate >
{
    ZBarReaderView *readerView;
    UITextView *resultText;
    ZBarCameraSimulator *cameraSim;
}

@property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
@property (nonatomic, retain) IBOutlet UITextView *resultText;

@end
Run Code Online (Sandbox Code Playgroud)

就是这样,就是整个文件,他怎么能看到委托和ZBarReaderView和ZBarCameraSimulator,而不导入任何东西???

我的实现工作正常,但我当然要导入文件,正如我在看这个例子时,它确实引起了我的注意,他没有导入任何东西......这怎么可能?

zne*_*eak 7

项目通常有一个pch文件(预编译/前缀头); 此文件自动包含在项目的每个其他代码文件中.如果pch文件包含#import协议文件,那么项目中的每个文件都会知道它.