2016-02-26 11 views
5

Początkowo w LoadingVC.h Oświadczam protokół:Brak typu lub protokół błąd podczas protokół jest importowany

@protocol VideoWorker <NSObject> 

@required 

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

-(void)beginWorking; 

@end 

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

potem w BlurWorkerGPU.h

... 
#import "LoadingVC.h" 

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

jednak llvm mówi, że

"Brak typu lub protokołu o nazwie" VideoWorker ""

co jest dziwne, ponieważ importuję nagłówek, w którym zdefiniowano protokół. Jakieś wskazówki?

Odpowiedz

13

Powinieneś przesłać dalej deklarację protokołu w plikach .h zanim go użyjesz. Umieścić to w górze BlurWorkerGPU.h

@protocol VideoWorker; 
0

sprawdzić, czy są importowane "BlurWorkerGPU.h" w "LoadingVC.h"

0

Możliwe rozwiązania są

  • protokół import

@import YOURPROTOCOLNAME

  • import klasy, w których protokół jest zadeklarowana

#import "YOURCLASSWHICHDECLAREDPROTOCOL.h"

  • Zastosowanie @Class zaimportować klasę

@class YOURCLASSWHICHDECLAREDPROTOCOL;

Powiązane problemy