我知道在哪裏存儲userDefaults有幾個問題,以便所有人都可以使用。目前我有我的AppDelegate,它的工作。但是,我現在想要更新每個用戶首選項的默認設置。我應該在哪裏存儲NSUserDefaults,以便我可以更新它們?
但是,當用戶退出應用程序並再次啓動它時,它只是再次從頭開始創建默認值。
#import "AppDelegate.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
NSUserDefaults *sharedPref = [NSUserDefaults standardUserDefaults];
[sharedPref setObject:@"Washington, DC" forKey:@"defaultLocation"];
//
return YES;
}
顯然,這被每個應用打開時間設置,使用戶選擇過時。
如何設置默認值,然後讓用戶更改默認值,然後在應用程序啓動時被覆蓋?
感謝
這是registerDefaults是。當你註冊一個默認值時,只有當該密鑰的默認值不存在時纔會寫入。 – rdelmar 2013-03-09 04:50:07
@rdelmar'registerDefaults'不寫任何東西。當你嘗試從'NSUserDefaults'獲取一個值時,如果明確設置了該鍵的值,則返回該值。如果密鑰沒有值,則檢查註冊的默認密鑰。 – rmaddy 2013-03-09 05:19:05
@rmaddy,感謝您的糾正。我一直在誤解registerDefaults的工作原理。我應該更仔細地閱讀文檔。 – rdelmar 2013-03-09 23:48:36