IPhone - 一次性设置屏幕

时间:2013-10-25 00:21:50

标签: ios iphone

我正在开发一个iphone应用程序,当用户第一次启动应用程序时,它要求在前两个屏幕中设置一次用户名等详细信息。一旦用户提供了详细信息,当我启动应用程序时,我不希望这两个屏幕出现。

我尝试从互联网上获取信息,但我无法如何找到它。可能是我错过了执行此操作所涉及的技术术语或措辞。任何人都可以帮助完成这个场景。任何示例代码都非常有用。

感谢您的时间

4 个答案:

答案 0 :(得分:2)

只需将boolean变量设置为user-defaults即可。用户默认设置是一种将信息保存到应用程序外部的电话的方式,应用程序可以随时调用该信息。

在app-delegate引导时,检查用户默认值是否为布尔值。

将布尔值保存到用户默认值:

NSValue *state = ... //Whatever state you want. NSValue allows for booleans.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:obj forKey:@"notFirstTimeRun"];
[defaults synchronize];

从user-defaults加载布尔值:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSValue *state = [defaults objectForKey:@"notFirstTimeRun"];

做一个检查:

if ([state boolValue] == true){
     //Has ran before, skip your UIViews or whatever
}
else{
     //Has not ran before, do your setup or whatever.
}

答案 1 :(得分:0)

您要做的是基本上存储一个标志,指示用户是否已完成设置步骤。在应用启动时,您会检查该标志是否存在,并带有相应的值,以表示是否显示设置屏幕。 NSUserDefaults提供了一种在会话中持久保存状态的简单方法。

答案 2 :(得分:0)

我就是这样做的:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasBeenLaunched"]){
        // This is not the first time, therefore open app as usual
    } else {
        // This is the first time, show special views
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasBeenLaunched"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}

答案 3 :(得分:0)

如何在App DidFinishLaunching中设置bool。您可以在每次启动应用程序时检查该bool,并根据该显示或隐藏相应的屏幕。