这两个错误意味着什么:
1。找不到'KLCalendarViewDelegate'的协议声明
2. “KLCalendarView”之前的预期说明符限定符列表
在此代码中:
#import <UIKit/UIKit.h>
#import "KLCalendarView.h"
#import "CheckmarkTile.h"
@interface CalendarTestViewController : UIViewController<KLCalendarViewDelegate>
{
KLCalendarView *calendarView;
KLTile *currentTile;
UITableView *myTableView;
NSMutableArray *tableViewData;
KLTile *tile;
BOOL shouldPushAnotherView;
}
@end
答案 0 :(得分:1)
在import语句下面添加以下语句:
@class KLCalendarView;
这肯定会解决你的错误号码。 2
如果您对此有任何疑问,请在下面发表评论。
希望这会对你有所帮助。
答案 1 :(得分:0)
您对CalendarTestViewController的声明表示它实现了KLCalendarViewDelegate,但编译器说它无法找到该协议的声明。第二个错误让我觉得KLCalendarView.h中的KLCalendarView声明存在问题,这可能就是编译器没有看到委托协议的原因。仔细查看KLCalendarView.h,尤其是@interface KLCalendarView
行上方的行。您可能会发现缺少分号,缺少右括号,拼写错误等等。
答案 2 :(得分:0)
您需要在标题中声明当前类将要实现的协议。
A protocol is a list of method declarations. If your class adopts the protocol,
then you have to implement those methods in your class.
所以你可以按如下方式声明它们:
@protocol <name>
<methods>
@end