Xcode 应用程序首选项能否在启动时只读?

Xcode 应用程序首选项能否在启动时只读?,xcode,settings.bundle,inappsettings,Xcode,Settings.bundle,Inappsettings,我已经在应用程序中实现了一个preferences视图,以便能够编辑设置。在应用程序中直接绑定值 但是现在我想从settings.bundle中读取,但是在阅读时我发现应该在应用程序启动时读取settings.bundle 那么,在我的代码中,任何时候都不可能访问此首选项吗?如果用户无法在应用程序运行时随时更新首选项,则Inappsettings将毫无意义 Inappsettings提供了该方法 但我不确定这是否能让人们随时阅读偏好。有什么建议吗 编辑:在我的应用程序中,我有三个视图,一个是仪表

我已经在应用程序中实现了一个preferences视图,以便能够编辑设置。在应用程序中直接绑定

但是现在我想从settings.bundle中读取,但是在阅读时我发现应该在应用程序启动时读取settings.bundle

那么,在我的代码中,任何时候都不可能访问此首选项吗?如果用户无法在应用程序运行时随时更新首选项,则Inappsettings将毫无意义

Inappsettings提供了该方法

但我不确定这是否能让人们随时阅读偏好。有什么建议吗

编辑:在我的应用程序中,我有三个视图,一个是仪表板。另一个选项和邮件视图以模式显示


在首选项中,用户可以设置发送消息所需的一些基本内容。因此,当用户刚开始键入并想要更改(例如,传输网关)时,他会打开选项视图,即inappsettings视图,并更改一些内容。我想在不重新启动应用程序的情况下阅读此更改

显然,苹果想把外部偏好强加给我们。请回忆一下Mail.app的工作原理。有时候,这种模式是有道理的,有时候是没有道理的。如果您有不可变的首选项集,则不必考虑事件处理onPreferenceChange、并发、同步、操作系统备份和复制问题等。。。然而,苹果提供的设备在功能上非常有限。你甚至不能在那里输入任意字符串(Mail.app显然使用了一些私有API)。因此,您必须选择是否可以使用苹果提供的产品或实施您自己的偏好系统(可能基于
NSUSerDefaults
或其他内容)。我实现了我自己的一次,从那以后我一直在使用它。我更喜欢有一个真正的应用程序内偏好系统。这样做的主要优点是可以在不离开应用程序的情况下更改其价值

谢谢你的建议。我用一些细节更新了我的问题。我也想过同步,但因为这是一个非常简单的应用程序,所以不会有问题。Inappsettings给了我一个很棒的UI,我试图复制它,但没有成功。我从Inappsettings切换到Inappsettings工具包,现在我可以随时读取用户默认值。
- (void)initialize{
    if([self class] == [AppDelegate class]){
        [InAppSettings registerDefaults];
    }
}