【问题标题】:iPhone - Changing App Settings Programmatically [duplicate]iPhone - 以编程方式更改应用程序设置[重复]
【发布时间】:2011-12-03 20:50:46
【问题描述】:

可能重复:
Is there anyway to set values in the settings.bundle from within the APP

我正在开发一个 iPhone 应用程序,它会在某些时候提示用户提醒他们某个设置已关闭。从那里他们可以选择启用它并继续。我能够获取设置并在我的代码中使用,问题是以编程方式更改它们。这就是我所拥有的

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if(buttonIndex == 1){

        // Get the application defaults
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"enabledAutoCheck"];

        // Set the new settings and save
        [defaults registerDefaults:appDefaults];
        [defaults synchronize]; 
     }
}

我在做一个疯狂的猜测(因为我 3 天前才开始学习 Objective-C 和 iPhone 开发!)这与设置默认设置的事实有关,这意味着它们仅在没有的情况下使用进行了先前的设置。

这只是遗漏了一些东西,还是有其他方法可以在初始设置后更改设置?

谢谢

【问题讨论】:

    标签: iphone ios cocoa-touch cocoa


    【解决方案1】:

    NSUserDefaults 的名称有点误导 - 它们是实际设置,而不是默认设置。

    您不需要registerDefaults - 相反,您可以调用[defaults setObject:@"YES" forKey:@"enabledAutoCheck"];(存储设置)然后调用[defaults synchronize];(保存设置)。这样可以避免删除不想删除的设置。

    您的代码的其余部分都很好。但是,请确保将它们实际加载到您需要它们的位置,并确保在更改 UI 设置时更改受影响的 UI 部分。他们不会更新自己,你知道 :-)

    【讨论】:

    • 非常感谢!完美运行 :) 是的,我知道,我正在使用 InAppSettings 工具包来处理 UI 方面的问题。
    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2017-09-28
    • 2012-03-01
    • 2020-12-31
    • 2011-01-10
    相关资源
    最近更新 更多