我有一个很奇怪的问题。让我先将代码发布给您
在我的appdelegate.h中
#import <UIKit/UIKit.h>
#import <CoreData/CoreData.h>
#import "SecondViewController.h"
@class MasterViewController;
@class DetailViewController1;
@interface TestAppDelegate : NSObject <UIApplicationDelegate> {
NSTimer *tempTimer;
}
@property(nonatomic, retain) NSTimer *tempTimer;
-(void)test;
@end
In my app delegate .m
@synthesize tempTimer
在我的SecondViewController.h中
@class TestAppDelegate;
@interface SecondViewController : UIViewController
{
TestAppDelegate *appDel;
NSTimer *aTimer;
}
@property (nonatomic, retain) NSTimer *aTimer;
@end
在我的SecondViewController.m中
@synthesize aTimer, appDel;
在
viewDidload
方法中appDel =(TestAppDelegate *)[[UIApplication sharedApplication] delegate];
self.aTimer = appDel.tempTimer;
现在我得到以下错误
*在“TestAppDelegate”类型的对象上找不到属性“tempTimer”
最佳答案
原因是,您已在SecondViewController中预先声明了TestAppDelegate,因此无法访问属性。而且我认为您这样做的原因是为了避免这些类之间的循环依赖。您有两种选择: