我想使用我的 AppDelegate 来存储一个可以被任何其他类访问的对象。我已经像这样声明了这个 AppDelegate:
@interface MyAppDelegate : UIResponder <UIApplicationDelegate>
{
MyClass *tracker;
}
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) ICViewController *viewController;
@property (retain, nonatomic) MyClass *tracker;
@end
我合成跟踪器并在应用程序中:didFinishLaunchingWithOptions:我在该对象中设置了一个 NSString,如下所示:
self.tracker = [[MyClass alloc] init];
self.tracker.testGlobal = @"global funguje";
当我需要在其他类的其他地方访问跟踪器时,我使用以下代码:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
MyClass *trackerTEST = appDelegate.tracker;
NSLog(@"TEST : %@",trackerTEST.testGlobal);
问题是 testGlobal 是 NULL。我究竟做错了什么?这里还有 MyClass 的类文件:
@interface MyClass : NSObject
{
NSString *testGlobal;
}
@property (retain, nonatomic) NSString *testGlobal;
@end
@implementation MyClass
@synthesize testGlobal = _testGlobal;
@end
感谢您提供任何帮助!