我在使用自定义协议时遇到错误。
TKCalendarMonthView.h
#import "ViewController.h"
@protocol EventViewProtocol;
@interface TKCalendarMonthView : UIView <PSMonthSelectedDelegate, PSYearSelectedDelegate,UIGestureRecognizerDelegate> {
id <EventViewProtocol> __unsafe_unretained eventDelegate;
}
@property (nonatomic,unsafe_unretained) id <EventViewProtocol> eventDelegate;
@end
@protocol EventViewProtocol <NSObject>
- (void)navigateToEventView;
@end
ViewController.h
#import <UIKit/UIKit.h>
#import "ELScrollView.h"
#import "TKCalendarMonthView.h"
@interface ViewController : UIViewController <UIGestureRecognizerDelegate, EventViewProtocol> //At this line I am getting the error as "Cannot find protocol declaration for EventViewProtocol"
@property (nonatomic, strong) UIColor* horizontalBgColor;
@property (nonatomic, strong) UIColor* verticalBgColor;
@end
答案 0 :(得分:1)
您有一个循环导入参考。将TKCalendarMonthView更改为:
@class ViewController;
@protocol EventViewProtocol;
@interface TKCalendarMonthView : UIView <PSMonthSelectedDelegate, PSYearSelectedDelegate,UIGestureRecognizerDelegate> {
id <EventViewProtocol> __unsafe_unretained eventDelegate;
}
@property (nonatomic,unsafe_unretained) id <EventViewProtocol> eventDelegate;
@end
@protocol EventViewProtocol <NSObject>
- (void)navigateToEventView;
@end