iPhone - 检查之前是否已加载每个 View

标签 iphone ios uiview nsuserdefaults

我有一个问题,我以前从未见过以这种特殊方式解决过,所以希望有人能帮助我解决这个问题。假设我有一个带有四个 View 的选项卡栏应用程序,每个选项卡上一个。显然,应用程序将被迫使用它被告知启动时使用的 View Controller 启动,但在那之后,由用户选择下一个要加载的选项卡( View )。

问题来自这样一个事实,即我只想在第一次加载特定 View 时在每个选项卡上显示该 View 。通常,您会这样做:

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

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

但是,一旦这样做,就会为所有应用程序设置 NSUserDefault,这意味着只有选项卡 1 的 View 会显示,而不会显示其他三个。所以,我的问题是,如何仅在第一次加载每个 View 时为我的四个选项卡中的每一个显示一个 View ?这是一个复杂的问题,因为用户可以按任何顺序选择任何选项卡,所以我认为我无法引导他们沿着路径前进。

我是否必须为每个 View 使用不同的键?那行得通吗?看起来这可能是最好的做法,但这是我第一次使用 NSUserDefaults,所以我有点迷茫。

非常感谢任何帮助!

最佳答案

为每个 View 使用不同的键:

例如viewController1PreviouslyLaunched, viewController2PreviouslyLaunched...等

关于iPhone - 检查之前是否已加载每个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8696744/

相关文章:

iphone - MPMoviePlayerController 性能受到影响

ios - Xcode/Simulator 与物理设备上的 React Native 字体大小不同

ios - UIScrollView 无法在纵向或横向模式下显示图像

ios - IOS 外部 GPS 数据的 WGS84 Geoid Height Altitude Offset

iphone - 通过AudioQueueStart功能在iOS7中进行录音

文本字段内切换按钮的 IOS UI 测试用例

ios - Swift:在调整大小后将 UIView 推到其下方的动态 UIView

ios - 从 UIView 发送按钮点击值到它的 super View 的 super View (UIViewController)-iOS

ios - 禁用隐藏导航栏的触摸

iphone - 静态 UILabel 未显示在 uiview 中