- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
MenuViewController *menu=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"home"];
MainNavigationController *navController=[[MainNavigationController alloc]initWithRootViewController:menu];
self.window.rootViewController=navController;
}
else
{
LaunchViewController *vc=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"tutorial"];
self.window.rootViewController=vc;
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return YES;
}
위의 응용 프로그램 위임자에서 다음 코드를 사용하여 Launchviewcontroller를 첫 번째 실행시에만 표시하지만 어떤 이유로 작동하지 않습니다!처음 시작시 자습서 화면 표시
NSUserDefaults 논리가 정확합니다. 코코아 콩 이름과 같은 것입니다. 디버거를 단계별로 실행하거나 키 상태를 기록하십시오. –
@CliffRibaudo 스토리 보드와 관련이 있다고 생각합니까? LaunchViewController를 initialviewcontroller로 설정 했습니까? –
"작동하지 않음"을 정의하십시오. 실제로는 어떻게됩니까? 앱을 삭제하고 다시 설치하십시오. 그게 도움이 되니? 디버거를 사용하여 코드를 단계별로 실행하고 코드가 어떤 경로를 통과하는지 확인하십시오. – rmaddy