找不到协议定义

时间:2011-05-03 09:14:58

标签: iphone cocoa-touch protocols definition

我在使用协议定义时遇到一些麻烦,这一定是个愚蠢的错误。我包含了定义所在的标题,但是我收到了警告,因此按照建议创建了一个单独的头文件。我仍然得到警告,无法找到定义(导入此单独文件时),甚至当我使用它将定义放在类的头文件中时,它会发出警告:

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

@interface LauncherViewController :TTViewController<SubstitutableDetailViewController, TTLauncherViewDelegate> {
    TTLauncherView *launcherView;
}

那么在我对协议的定义中我做错了什么?

[编辑:对不起,Xcode一定有些怪,或者我生气了,我做了一个干净的构建,现在警告没有回来......但我不知道为什么]

1 个答案:

答案 0 :(得分:2)

将此代码放在名为SubstitutableDetailViewController.h的单独文件中(我更喜欢SubstitutableDetailViewControllerDelegate.h):

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

然后通过#import "SubstitutableDetailViewController.h"

将其包含在LauncherViewController中