我正在尝试制作某种可以记住特定视图的设置向导,但是由于我使用的是 ARC,因此我的 AppDelegate.m 代码存在一些问题。有谁知道如何解决这个问题,因为如果我在启动屏幕上编译应用程序崩溃..
我的 AppDelegate.m:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSString *controllerName = [[NSUserDefaults standardUserDefaults] objectForKey:@"WIZARD_VIEW"];
if ([controllerName length]) {
Class controllerClass = NSClassFromString(controllerName);
UIViewController *controller = [[controllerClass alloc] init];
// Override point for customization after application launch.
return YES;
}
更清楚地说,在 viewcontroller 文件中,我添加了以下代码作为建议:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[[NSUserDefaults standardUserDefaults] setObject:[[self class] description] forKey:@"WIZARD_VIEW"];
NSLog(@"ViewWillAppear Done.");
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"WIZARD_VIEW"];
NSLog(@"viewWillDisappear");
[[NSUserDefaults standardUserDefaults] synchronize];
}
编译时的崩溃日志:
/Users/Tim/Documents/XCODE_DEV/App/AppDelegate.m:17:33: No visible @interface for 'NSUserDefaults' declares the selector 'forKey:'
/Users/Tim/Documents/XCODE_DEV/App/AppDelegate.m:20:27: Unused variable 'controller'