iPhone - проверьте, загружен ли каждый вид раньше - PullRequest
2 голосов
/ 02 января 2012

У меня есть проблема, с которой я раньше не сталкивался подобным образом, так что, надеюсь, кто-нибудь поможет мне с этим. Допустим, у меня есть приложение панели вкладок с четырьмя представлениями, по одному на каждой вкладке. Очевидно, что приложение будет вынуждено запускаться с контроллером представления, с которого ему приказано запускаться, но после этого пользователь сам выбирает, какую вкладку (представление) загрузить следующей.

Проблема заключается в том, что я хотел бы отображать представление на каждой вкладке ТОЛЬКО при первой загрузке этого конкретного представления. Обычно вы делаете это:

   BOOL foo = [[NSUserDefaults standardUserDefaults]boolForKey:@"previouslyLaunched"];
    if (!foo) 
    {
        NSLog(@"FirstLaunch");
        [[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"previouslyLaunched"];

        ///Do first run view initializaton here////
    }

Однако, сделав это один раз, вы установите NSUserDefault для всего приложения, что означает, что будет отображаться только представление для вкладки 1, а не три других. Итак, мой вопрос: как мне показать представление для каждой из моих четырех вкладок только при первой загрузке каждого представления? Это сложный вопрос, потому что пользователь может выбрать любую вкладку в любом порядке, поэтому я не могу указать им путь, я думаю.

Должен ли я использовать разные ключи для каждого вида? Будет ли это работать? Кажется, что это может быть лучшим вариантом действий, но я впервые работаю с NSUserDefaults, поэтому я немного растерялся.

Любая помощь очень ценится!

1 Ответ

1 голос
/ 02 января 2012

Используйте разные ключи для каждого вида:

например, viewController1PreviouslyLaunched, viewController2PreviouslyLaunched ... etc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...