保存默认视图的用户首选项

时间:2014-07-17 15:15:21

标签: ios objective-c

我想让我的应用在首次启动时显示一个视图,让用户选择默认视图控制器,以便在每次启动应用时打开。例如,用户第一次启动应用程序时,会显示一个屏幕,其中包含选择新闻,天气,我的帐户等选项。如果他们选择新闻,则会打开新的视图控制器,每次启动应用程序时,默认情况下显示新闻视图。然后,主菜单中会有一个首选项部分,允许用户更改其默认视图。我只是不确定如何实现这一点并存储用户偏好。

2 个答案:

答案 0 :(得分:2)

为此,您可以使用NSUserDefaults

如果您要从故事板创建视图,则可以直接保存故事板ID,否则您只能存储视图的名称。

保存用户的偏好

[[NSUserDefaults standardUserDefaults] setObject:@"News" forKey:@"myPreferredView"];
[[NSUserDefaults standardUserDefaults] synchronize];

如果有用户偏好

,则显示视图
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"myPreferredView"]) {
    NSString *preferedView  = [[NSUserDefaults standardUserDefaults] valueForKey:@"myPreferredView"];

    // present user's preferred view here
}

else {
    // present your default
}

答案 1 :(得分:1)

您可以使用NSUserDafaults保存选择。这允许您在用户设备上本地存储数据并根据需要访问它。在您的情况下,您可以打开应用程序并从NSUserDefaults读取以确定应加载哪个视图。有关如何实施它的更多信息,请参阅NSUserDefaults上的Apples类参考https://developer.apple.com/library/mac/documentation/cocoa/reference/foundation/classes/nsuserdefaults_class/reference/reference.html