[英]No type or protocol error while protocol is imported
首先,在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'的类型或协议”
这很奇怪,因为我正在导入定义协议的标头。 有线索吗?
在使用之前,您应该在.h文件中转发声明协议。 把它放在BlurWorkerGPU.h
的顶部
@protocol VideoWorker;
检查是否在“LoadingVC.h”中导入“BlurWorkerGPU.h”
可能的解决方案
@import YOURPROTOCOLNAME
#import "YOURCLASSWHICHDECLAREDPROTOCOL.h"
@class YOURCLASSWHICHDECLAREDPROTOCOL;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.