iPhone - соответствует протоколу без импорта заголовочных файлов? - PullRequest
0 голосов
/ 18 января 2012

Недавно я скачал проект с открытым исходным кодом 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

То есть, это весь файл, как он может видеть делегата и ZBarReaderView и ZBarCameraSimulator, ничего не импортируя ???.

Моя реализация работает, но я, конечно, должен импортировать файлы, и когда я смотрел на пример, он действительно привлек мое внимание, что он ничего не импортировал ... как это возможно ??

Ответы [ 2 ]

7 голосов
/ 18 января 2012

В проектах обычно есть файл pch (предварительно скомпилированный / префиксный заголовок);этот файл автоматически включается во все остальные файлы кода проекта.Если файл pch содержит #import к файлу протокола, то каждый файл в проекте будет знать об этом.

2 голосов
/ 18 января 2012

Он должен иметь либо предварительную декларацию, либо импорт в файле заголовка префикса, который является файлом в проекте, заканчивающемся .pch, который автоматически импортируется всеми исходными файлами в проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...