[英]How to work with Settings.bundle
我正在使用最新的SDK開發iOS應用。
我用Root.plist
和另外四個.plist
創建了Settings.bundle
,這些文件上的每個設置都有每個默認值。
這是我第一次使用Settings.bundle
,我迷路了。 我發現了這個問題 ,他們說我每次運行應用程序時都必須閱讀Settings.bundle
默認值,但我不明白為什么。
我想我必須在這里繼續使用NSUserDefaults
來讀取設置值。
我有以下問題:
順便說一句,現在我有以下代碼:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// Set the application defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults boolForKey:@"firstRun"])
{
NSDictionary *appDefaults = [PreferenceDefaultValues dictionary];
[defaults registerDefaults:appDefaults];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstRun"];
[defaults synchronize];
}
return YES;
}
可以使用NSUserDefaults
訪問Settings.bundle plist中任何首選項的identifier
。 例如,如果您有一個帶有名為allowDiagnostics
的標識符的首選項,則可以使用[NSUserDefaults standardUserDefaults] boolForKey:@"allowDiagnostics"]
訪問該項目的值(假設它是BOOL
項)。
您可以使用NSUserDefaultsDidChangeNotification
來通知您的首選項更改。
您閱讀它們的方式相同。 繼續1的示例, [NSUserDefaults standardUserDefaults] setBool:YES forKey:@"allowDiagnostics"]
。 但是請注意,允許用戶從多個位置(Settings.bundle和應用程序中的某個位置)更改選項可能會使用戶感到困惑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.