簡體   English   中英

如何清除NSUserDefaults數據?

[英]How to clear NSUserDefaults Data?

當我從我的應用程序中選擇語言選擇列表中的語言時,它會顯示我之前選擇的語言。 如果我從我的模擬器堆棧中清除應用程序或從xcode清除它然后運行項目,之后它就可以了,如果我想再次更改語言,那么我遇到了同樣的問題。 我的代碼如下:

- (IBAction)English:(id)sender {

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setObject:[NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
[userDefault synchronize];

ChooseItemVC *civc = (ChooseItemVC*)[self.storyboard instantiateViewControllerWithIdentifier:@"ChooseItemVC"];
[self.navigationController pushViewController:civc animated:YES];
}

另一種語言選擇代碼:

- (IBAction)Arabic:(id)sender {

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setObject:[NSArray arrayWithObjects:@"ar", nil] forKey:@"AppleLanguages"];
[userDefault synchronize];

ChooseItemVC *civc = (ChooseItemVC*)[self.storyboard instantiateViewControllerWithIdentifier:@"ChooseItemVC"];
[self.navigationController pushViewController:civc animated:YES];

}

刪除所有用戶默認值的最佳方法如下:Swift代碼:

UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!)

UserDefaults.standard.synchronize()

目標C.

NSString *strIdentifier = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] strIdentifier];
[[NSUserDefaults standardUserDefaults] synchronize];

NSUserDefaults刪除數據

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];

刪除使用此

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
    [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
    [[NSUserDefaults standardUserDefaults] synchronize];

要從NSUserDefaults中刪除數據,請嘗試以下操作:

        NSString *AppDomain = [[NSBundle mainBundle] bundleIdentifier];
        [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:AppDomain];

使用以下代碼刪除用戶默認值中的所有現有數據,我發布swift代碼,將其轉換為objective-c。

  if let bundleID = Bundle.main.bundleIdentifier {
            UserDefaults.standard.removePersistentDomain(forName: bundleID)
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM