2016-02-26 2 views
5

На первом, в LoadingVC.h я объявляю протокол:Отсутствует тип или протокол ошибка протокола импортируется

@protocol VideoWorker <NSObject> 

@required 

@property (nonatomic) float progress; 
@property (nonatomic) BOOL done; 

-(void)beginWorking; 

@end 

@interface LoadingVC : UIViewController <UIAlertViewDelegate> 
... 
@end 

затем в BlurWorkerGPU.h

... 
#import "LoadingVC.h" 

@interface BlurWorkerGPU : NSObject <VideoWorker> { 
... 
} 
- (void)beginWorking; 
@property(nonatomic)float progress; 
@property(nonatomic)BOOL done; 
... 
@end 

Однако, LLVM говорит, что

не

"Отсутствует тип или протокол с именем" VideoWorker"

, что странно, поскольку я импортирую заголовок, где протокол определен. Любые подсказки?

ответ

13

Перед тем, как использовать его, вы должны переслать протокол протокола .h. Поместите это в верхней части BlurWorkerGPU.h

@protocol VideoWorker; 
0

проверки ли вы импортируете "BlurWorkerGPU.h" в "LoadingVC.h"

0

Возможные решения

  • протокол импорта

@import YOURPROTOCOLNAME

  • импорта класса, в котором протокол объявляется

#import "YOURCLASSWHICHDECLAREDPROTOCOL.h"

  • Используйте @class импортировать класс

@class YOURCLASSWHICHDECLAREDPROTOCOL;

Смежные вопросы