うるおいらんど

NSUserDefaultsの内容をまとめて削除する方法【Swift】

NSUserDefaultsSwift

追記があります。

NSUserDefaultsはもう超便利で色々なところに使っているんですが、色々なところに使いすぎてリセットするのが大変です。

ありとあらゆるViewControllerで用いられているNSUserDefaultsをまとめて全部削除する方法です。

 

たったの2行でリセットできちゃいます。びっくら

let appDomain = NSBundle.mainBundle().bundleIdentifier
NSUserDefaults.standardUserDefaults().removePersistentDomainForName(appDomain!)

アプリのドメイン名(プロジェクト内)全てのuserDefaultsのデータを削除します。

 

なので同じクラス内だけを消そうと思っていたのに、全部消えてしまった!ということにならないように気をつけねばです。間違えることは早々無いとは思いますが。

 

おまけ

1つのものだけ消したい場合は

let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.removeObjectForKey("hogehoge")

removeObjectForKeyで消しましょう!

 

 

 

参考リンク

Additional Notes追記

Swift4で

おきかえ〜

let userDefaults = UserDefaults.standard
//全て消す
if let domain = Bundle.main.bundleIdentifier {
       userDefaults.removePersistentDomain(forName: domain)
}
//1つだけ消す
userDefaults.removeObject(forKey: "hoge")
Comments

コメントはありません。

現在コメントフォームは工事中です。