以下代码给出了一个错误“无法找到'StartTimerViewController'的接口声明
#import "StartTimerViewController.h"
@interface StartTimerViewController (timerMethods)
-(void)startTimer:(id)sender withTimeIntervalInSeconds:(NSTimeInterval)time
andMessage:(NSString *)message
notificationChoice:(BOOL)notificationChoice
andWithLabel:(UILabel *)theLabel;
-(void)updateLabel:(NSTimer *)timer;
@end
为什么会这样? StartTimerViewController.h确实存在,并且是我编码的有效类。该文件应该是一个扩展StartTimerViewController的类别。
这是StartTimerViewController.h的开头
#import <UIKit/UIKit.h>
#import "StartTimerViewController+timerMethods.h"
@interface StartTimerViewController : UIViewController {
答案 0 :(得分:7)
您有循环参考。你不能在StartTimerViewController.h中包含timermethods.h,因为timerMethods.h需要StartTimerViewController.h。您永远不需要父母知道类别,只有类别需要知道父类。
祝你好运!
答案 1 :(得分:0)
您在声明类之前导入类别的标题。它永远不会有机会看到这个课程,因为它首先出现!因此,请将#import "StartTimerViewController+timerMethods.h"
移至文件的 end 。