【发布时间】:2011-02-13 11:21:28
【问题描述】:
好的,这已经解释了好几次了(我大部分都使用this post on SO),但我遗漏了一些东西。我能够干净地编译,并且能够设置委托以及从委托调用方法,但我在构建时收到警告:
No definition of protocol 'DetailViewControllerDelegate' is found
我只有一个 DetailViewController 和一个 RootViewController。我正在从 DetailViewController 调用 RootViewController 中的方法。我的委托是这样设置的:
在RootViewController.h:
#import "DetailViewController.h"
@interface RootViewController : UITableViewController <NSFetchedResultsControllerDelegate, DetailViewControllerDelegate> //Error shows up here
{
//Some Stuff Here
}
//Some other stuff here
@end
在RootViewController.m 中,我在使用detailViewController.delegate = self 创建视图时定义了委托
在DetailViewController.h:
@protocol DetailViewControllerDelegate;
#import "RootViewController.h"
@interface DetailViewController : UITableViewController <UITextFieldDelegate>
{
id <DetailViewControllerDelegate> delegate;
}
@property (nonatomic, assign) id <DetailViewControllerDelegate> delegate;
@end
@protocol DetailViewControllerDelegate
//some methods that reside in RootViewController.m
@end
我对在DetailViewController.h 中的导入上方声明协议感到很奇怪,但如果我不这样做,它就不会构建。就像我说的那样,这些方法被称为很好,并且没有其他错误发生。我在这里错过了什么?
【问题讨论】:
标签: iphone objective-c delegates methods