在 NSUserDefaults 中保存用户选择

Posted

技术标签:

【中文标题】在 NSUserDefaults 中保存用户选择【英文标题】:Saving users choices in NSUserDefaults 【发布时间】:2014-03-13 16:50:38 【问题描述】:

您好,我目前正在开发一个应用程序,其中初始视图控制器是一个带有两个按钮的屏幕,一个用于一件事,另一个用于另一件事。每个按钮都指向一个新的视图控制器。我想要做的是让应用程序识别用户选择的按钮并保存,这样当用户下次打开应用程序时,它会直接进入新的视图控制器。

我知道我必须使用 NSUserDefaults,但我对编码很陌生,所以如果你们能详细解释一下,那将是完美的。

谢谢!

【问题讨论】:

你坚持哪一点?初始化它,在其中存储值,从中获取值?决定如何存储您的选择? 决定如何存储选择 【参考方案1】:

点击按钮时:

- (void) buttonPressed: (id) sender

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setObject:@"Something" forKey:@"SOME_KEY"];
    [userDefaults synchronize];


您可以添加此代码来处理您想要的:

- (void)viewWillAppear:(BOOL)animated

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    if ([userDefaults objectForKey:@"SOME_KEY"] != nil)
    
        if ([[userDefaults objectForKey:@"SOME_KEY"] isEqualToString:@"Something"])
        
            // push one ViewController
        
        else
        
            // push the other one
        
    

【讨论】:

以上是关于在 NSUserDefaults 中保存用户选择的主要内容,如果未能解决你的问题,请参考以下文章

将 UIPickerView 选择保存到 NSUserDefaults swift

通过加载 NSUserDefaults 检查多行

如何将 MPMediaItemCollection 保存到 NSUSerDefaults?

在 NSUserDefaults 中保存复选标记 - 动态 TableView

Objective-C 在 NSUserDefaults 中保存 NSColor

如何保存 UIPickerView 行选择