1. ホーム
  2. アイオス

[解決済み】NSUserDefaultsをクリアする。

2022-03-30 17:14:13

質問

私は +[NSUserDefaults standardUserDefaults] を使用して、アプリケーションの設定を保存します。これはおよそ十数個の文字列値から構成されています。これらの値をデフォルト値に設定するのではなく、恒久的に削除することは可能でしょうか?

解決方法は?

このように、アプリケーションの永続的なドメインを削除することができます。

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

Swift 3 以降で。

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

これは @samvermette さんの回答に似ていますが、IMO ではもう少しすっきりしています。