2015-01-11 4 views
0
- (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를 첫 번째 실행시에만 표시하지만 어떤 이유로 작동하지 않습니다!처음 시작시 자습서 화면 표시

+0

NSUserDefaults 논리가 정확합니다. 코코아 콩 이름과 같은 것입니다. 디버거를 단계별로 실행하거나 키 상태를 기록하십시오. –

+0

@CliffRibaudo 스토리 보드와 관련이 있다고 생각합니까? LaunchViewController를 initialviewcontroller로 설정 했습니까? –

+1

"작동하지 않음"을 정의하십시오. 실제로는 어떻게됩니까? 앱을 삭제하고 다시 설치하십시오. 그게 도움이 되니? 디버거를 사용하여 코드를 단계별로 실행하고 코드가 어떤 경로를 통과하는지 확인하십시오. – rmaddy

답변

-1

는 잘 모르겠지만, 언젠가 나는있는 NSString으로 해보자, NSUserDefaults에 BOOL 값을 추가 할 수 없습니다 (시험 : HasLaunchedOnce = @ "0"/ @ "1")

내가 어떻게 할 것인지 들어
+0

고맙지 만 NSUserDefaults는 완벽하게 작동합니다! –

0

, I 먼저 iOS 시뮬레이터를 메뉴에서 chossing하여 시뮬레이터를 재설정합니다. 그런 다음 콘텐츠 재설정 및 설정을 선택하십시오. 모든 NSUserDefaults 데이터가 정리됩니다. 따라서 문제가 무엇인지 더 알 수 있습니다.

- application: didFinishLaunchingWithOptions: 메서드는 실행시에만 호출됩니다. 배경에서 전경으로 지나갈 때 호출되지 않는다는 뜻입니다.

아마도이 프로세스를 이해해야한다고 생각합니다. 그리고 이것이 도움이되기를 바랍니다.

+0

감사하지만이 여러 번 시도했습니다! 이상한 일은 ** MainNavigationController * navController = [[MainNavigationController alloc] initWithRootViewController : menu]; ** 일 때 ** UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController : menu]; ** 작동합니다! –

+0

귀하의 의견과 게시 한 질문 사이의 연관성을 보지 못해 너무 죄송합니다. 다음 번에는 더 많은 정보를 제공하여 문제를보다 정확하게 해결할 수 있습니다. 어쨌든, 작동하는 한 좋다. 그러나 당신이 그것을 이해하지 못하면 다시 일어날 수 있습니다. –

+0

아니요! 나는 아직 문제를 해결하지 못했다. UINavigationController 대신 나 자신을 만든 MainNavigationController를 사용하고 싶습니다! 그것은 일반적인 네비게이션 컨트롤러를 사용할 때 몇 가지 방법으로 작동한다는 것입니다. –