2010-02-15 1 views
1

Есть ли встроенная техника для перехода непосредственно к последнему UIViewController, показанному перед выходом из приложения?Загрузка последнего просматриваемого UIViewController, когда приложение завершает работу

Я пытаюсь выяснить, есть ли какие-либо встроенные способы сделать это с картой UIKit/Cocoa Touch. Если я не понимаю, это будет довольно тривиально реализовать, но я не хочу этого делать, если что-то уже существует.

Например:

  1. Вы начинаете ваше приложение
  2. Вы двигаетесь через 3 UIViewControllers (внутри UINavigationController)
  3. Вы перемещаться по списку элементов каждый отображается на весь экран, по пункту 5
  4. вы бросить

вы перезапустите приложение и хотите вернуться в тот последний взгляд вы были в с tep 3 - просмотр вашего пятого предмета.

ответ

3

NSUserDefaults станет инструментом для этой работы. Вы можете просто сохранить ключ, чтобы указать свою позицию в приложении, а затем прочитать эту кнопку еще раз, когда приложение запускается, чтобы решить, куда идти:

// 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

вы можете хранить последнюю просмотренную ViewController к NSUserDefaults, например. , то в делегате приложения зачитайте это значение и загрузите назначенный контроллер просмотра.

перезапишите значение NSUserDefaults для каждого запуска ваших контроллеров просмотра или когда ваше приложение будет завершено.

Смежные вопросы