Iphone 在第二次应用程序启动时跳过主菜单

Iphone 在第二次应用程序启动时跳过主菜单,iphone,xcode,xcode4.5,Iphone,Xcode,Xcode4.5,我是新来的,是Xcode的初学者,我正在尝试做一个5页的应用程序。第一个是带有4个按钮的菜单页面,每个按钮指向不同的页面。当您第一次启动应用程序时,您可以选择转到哪个页面(从其他4个页面)。我想做的是让应用程序在第二次启动时跳过菜单页面(直接转到之前选择的页面)。有谁能告诉我在哪里可以找到关于这个的提示,或者给出一个与此相关的示例吗?当用户选择一个页面时,我会将所选内容存储到NSUserDefaults [[NSUserDefaults standardUserDefaults] setObje

我是新来的,是Xcode的初学者,我正在尝试做一个5页的应用程序。第一个是带有4个按钮的菜单页面,每个按钮指向不同的页面。当您第一次启动应用程序时,您可以选择转到哪个页面(从其他4个页面)。我想做的是让应用程序在第二次启动时跳过菜单页面(直接转到之前选择的页面)。有谁能告诉我在哪里可以找到关于这个的提示,或者给出一个与此相关的示例吗?

当用户选择一个页面时,我会将所选内容存储到
NSUserDefaults

[[NSUserDefaults standardUserDefaults] setObject:chosenPageIndex forKey:@"selectedPage"];
(chosenPageIndex是页面索引的编号)

然后,当应用程序启动时,您可以执行此操作

NSNumber *prevSelectedPage = [[NSUserDefaults standardUserDefaults] objectForKey:@"selectedPage"];

if (prevSelectedPage != nil) {
    //use this bit to move to the selected page using the page number stored in prevSelectedPage
}
我会这样做。

试试这个:

-(void)viewDidLoad{

[super viewDidLoad];
if ([[NSUserDefaults standardUserDefaults]boolForKey:@"secondTime"]==YES) {
    switch ([[NSUserDefaults standardUserDefaults]integerForKey:@"nextTime"]) {
        case 1:
            [self.navigationController pushViewController:firstViewController animated:YES];

            break;
        case 2:
            [self.navigationController pushViewController:secondViewController animated:YES];

            break;
        case 3:
            [self.navigationController pushViewController:thirdViewController animated:YES];

            break;
        case 4:
            [self.navigationController pushViewController:forthViewController animated:YES];

            break;

        default:
            break;
    }
    return;
}


 }


-(void)btnClicked:(id)sender{
[[NSUserDefaults standardUserDefaults]setInteger:[sender tag] forKey:@"nextTime"];
[[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"secondTime"];
[[NSUserDefaults standardUserDefaults]synchronize];
switch ([sender tag]) {
    case 1:
        [self.navigationController pushViewController:firstViewController animated:YES];

        break;
    case 2:
        [self.navigationController pushViewController:secondViewController animated:YES];

        break;
    case 3:
        [self.navigationController pushViewController:thirdViewController animated:YES];

        break;
    case 4:
        [self.navigationController pushViewController:forthViewController animated:YES];

        break;

    default:
        break;
}
您可以为此目的使用

当用户选择一个选项时,将其添加到
NSUSerDefaults
中,如:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithInt:selectedPage] forKey:@"Selected_Option"];
[defaults synchronize];
当用户再次打开应用程序时,在appdelegate的
applicationWillLaunch
方法中,您可以检索如下数据:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSNumber *page =   [defaults objectForKey:@"Selected_Option"];
int selected   = [page intValue];
并根据所选页面执行所需操作。首次加载时,选定的值将等于0