2010-02-15 15 views
1

앱을 종료하기 전에 표시된 마지막 UIViewController로 바로 이동하는 내장 기술이 있습니까?앱이 종료 될 때 마지막으로 본 UIViewController로드하기

나는 UIKit 프레임 워크/코코아 터치로 이것을하는 inbuilt 방법이 있는지 알아 내려고하고있다. 그렇지 않다면 구현하는 것이 매우 쉽다는 것을 알지만, 이미 존재하는 것이 있다면 이것을하고 싶지는 않습니다. 예를 들어

:

  1. 당신은
  2. 당신은 항목 5,
  3. 당신은 각각 전체 화면으로 표시되는 항목의 목록을 이동 (A UINavigationController가 내부) 3 UIViewControllers를 통해 이동하여 응용 프로그램을 시작
  4. 당신은
  5. 을 종료
그런 다음 응용 프로그램을 다시 시작하고의에 있었다 마지막보기에 돌아하려는

3 단계 - 다섯 번째 항목보기.

답변

3

NSUserDefaults이 작업의 도구입니다. 앱에서 이동 위치를 결정하기 시작할 때 당신은 단순히 앱에서 위치를 표시 한 후 다시이 키를 읽을 수있는 키를 절약 할 수있다 : 당신은 예를 들어 NSUserDefaults에 마지막으로 본의 ViewController를 저장할 수

// whenever you move to a new screen or item: 
[[NSUserDefaults standardUserDefaults] setObject:viewIdentifierString 
              forKey:@"last_view"]; 


// when your application opens: 
NSString * viewIdentifierString = [[NSUserDefaults standardUserDefaults] 
            stringForKey:@"last_view"]; 

if (viewIdentifierString == nil) 
{ 
    // show default view 
} 
else 
{ 
    // use viewIdentifierString to determine which view to load 
} 
+0

이것은 각 컨트롤러에 키가있는 상태에서이 작업을 수행 할 계획이었습니다. 그래도 열쇠를 기반으로하는 것보다 더 게으른 방법이 있었으면 좋겠다. –

+0

나는 두렵다. 모든 앱은 뷰를로드하는 다른 방법을 가질 수 있기 때문에 Cocoa가 뷰 계층 구조로 드릴 다운하는 기본 방법을 갖는 것은 매우 어려워집니다. –

+0

고마워요. 그것은 나를 많이 돕는다 .. – tesmojones

1

. 그러면 앱 대리인이이 값을 읽고 지정된보기 컨트롤러를로드합니다.

은 뷰 컨트롤러의 모든 초기화에서 또는 앱이 종료 될 때 NSUserDefaults 값을 덮어 씁니다.

관련 문제