私のアプリにはいくつかのビューが含まれています。アプリが起動し、ユーザーがまだウィザードを完了していないときに、小さなセットアップを表示したいと思います。NSUserDefaultsを使用してこれを実現できることはわかっていますが、NSUserDefaultsストレージの入力文字列に応じて、特定のビューを表示する方法がわかりません。
私の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ファイルに、jfallerからの提案として次のコードを追加しました。
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSUserDefaults* standard=[NSUserDefaults standardUserDefaults];
[standard registerDefaults: @{ @"WIZARD_VIEW" : [[self class]description]} ]; [[NSUserDefaults standardUserDefaults] synchronize];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSUserDefaults* standard=[NSUserDefaults standardUserDefaults];
[standard registerDefaults: @{ @"WIZARD_VIEW" : [[self class]description]} ];
[[NSUserDefaults standardUserDefaults] synchronize];
}
しかし、セットアップで選択された特定のビューを表示するようにこれを作成するにはどうすればよいですか?