我在我的iPhone应用程序项目中创建了一个setting.bundle。它的工作正常。应用程序设置在iPhone默认设置应用程序中可见,带有应用程序图标和名称。
我还在我的应用程序中创建了一个UIViewController,其中包含与setting.bundle的Root.plist中相同的设置函数。
表示我在iPhone默认设置应用程序和我的应用程序设置viewcontroller中都有相同的设置视图。
当我在我的应用的iPhone默认设置中应用某些更改时,它反映了我的应用程序中来自NSNotification对象的更改。
但是当我在应用程序设置viewcontroller中进行一些更改时出现问题,我无法在iPhone默认设置应用程序中应用此更改。我希望两个设置页面同步工作。两个设置页面都需要相互反映它们的变化。
我发现的一个逻辑是: 需要在我的应用程序中修改settings.bundle的Root.plist,与应用程序设置viewcontroller并行。但如何修改它,如果我成功修改它,它会影响我的iPhone默认设置应用程序的设置吗?
第二:是否可以从应用程序向iPhone默认设置应用程序发送任何通知以更改其值?
帮我解决这个问题。
如果我没有成功解释你的问题,请问我。我将简要解释你。
提前致谢。
答案 0 :(得分:4)
1)您可以通过编程方式更改设置应用的值。
您需要致电registerDefaults
以编程方式更改设置值,如:
[defaults setObject:@"YES" forKey:@"Toggle];
存储设置,然后[defaults synchronize];
以保存设置。
此处Toggle
是为任何设置组件提供的标识符。
2)将您的类添加为NSUserDefaultsDidChangeNotification
的观察者,如:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changed) name:NSUserDefaultsDidChangeNotification object:nil];
- (void) changed
{
//change the app viewcontroller settings here
}
并在上面的方法中更改viewControllers设置。