iPad开发:找不到协议声明

时间:2011-11-08 11:44:28

标签: objective-c ios ipad

我已经声明了一个协议,一切似乎工作正常,甚至Xcode自动完成协议的名称,如果我尝试采用它,但当我编译项目时,它一直告诉我“无法找到协议声明”。这很奇怪,因为我在同一个班级采用的第二个协议,我没有与前者有任何错误!这是代码:

这里我宣布协议:

//  LoginViewController.h
#import <UIKit/UIKit.h>

@protocol LoginEndDelegate <NSObject>

 -(void)doneLogin;


@end

在这里我尝试采用它:

#import "LoginViewController.h"
#import "WebServiceAPI.h"

@protocol SubstitutableDetailViewController
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
@end


@interface RootViewController : UITableViewController   <UISplitViewControllerDelegate,WebServiceAPIDelegate,LoginEndDelegate> {

请帮帮我们..谢谢!

1 个答案:

答案 0 :(得分:0)

尝试预处理导入第二个代码段的源文件,并确保在接口声明之前出现LoginEndDate声明。 (产品菜单在XCode 4上的“生成输出”下有一个“生成预处理文件”项。)

您很可能拥有导入依赖关系周期。 LoginViewController.h可能会导入导致在协议声明之前导入接口声明的内容。