我在使用协议定义时遇到一些麻烦,这一定是个愚蠢的错误。我包含了定义所在的标题,但是我收到了警告,因此按照建议创建了一个单独的头文件。我仍然得到警告,无法找到定义(导入此单独文件时),甚至当我使用它将定义放在类的头文件中时,它会发出警告:
@protocol SubstitutableDetailViewController <NSObject>
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
@end
@interface LauncherViewController :TTViewController<SubstitutableDetailViewController, TTLauncherViewDelegate> {
TTLauncherView *launcherView;
}
那么在我对协议的定义中我做错了什么?
[编辑:对不起,Xcode一定有些怪,或者我生气了,我做了一个干净的构建,现在警告没有回来......但我不知道为什么]
答案 0 :(得分:2)
将此代码放在名为SubstitutableDetailViewController.h的单独文件中(我更喜欢SubstitutableDetailViewControllerDelegate.h):
@protocol SubstitutableDetailViewController <NSObject>
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
@end
然后通过#import "SubstitutableDetailViewController.h"