我正在尝试从一本书中学习Objective-C,并在尝试使用Xcode进行练习时遇到以下错误(箭头表示问题所在地)。
#import <UIKit/UIKit.h>
#import "FlashCard.h"
#import "CreateCardViewController.h"
--> @interface FlashCardsViewController : UIViewController <CreateCardDelegate> {
上面的代码导致错误:“无法找到'CreateCardDelegate'的协议声明。但我正在导入”CreateCardViewController.h“,我声明了: @property(nonatomic,assign)id cardDelegate; 所以不知道问题是什么......
浏览了一些帖子后我怀疑它可能是由于循环#import依赖?但如果是这种情况,那么我不确定如何纠正这个错误。如果您有任何建议,请解释并记住我是Objective-c的新手。
答案 0 :(得分:2)
您没有正确定义
@protocol CreateCardDelegate
....
@end
在CreateCardViewController.h
文件中。请查看该定义并发布相关代码以获取更多帮助。
答案 1 :(得分:1)
您需要在某处声明CreateCardDelegate协议。这是一个协议声明的例子(在.h文件中)。
@protocol MyClassDelegate <NSObject>
- (void)myClass:(MyClass *)myClass someEventOccured:(NSInteger)value;
- (void)myClass:(MyClass *)myClass someOtherEventOccured:(NSInteger)value;
@end
在您的情况下,您需要在这些头文件中的某处@protocol CreateCardDelegate
并将其导入.m文件。你呢?