let key = "hogehoge"
print(UserDefaults.standard.integer(forKey: key))
UserDefaults.standard.register(defaults: [key:12345])
print(UserDefaults.standard.integer(forKey: key))
これを実行すると、
0
12345
と出力されます。ここまでは問題なし。
そのままもう一回実行すると、
0
12345
また同じ出力になります。なんで最初0なん?
ドキュメントをよく見てみると、
原文:
The contents of the registration domain are not written to disk; you need to call this method each time your application starts.
DeepL:
登録ドメインの内容がディスクに書き込まれないので、アプリケーションが起動するたびにこのメソッドを呼び出す必要があります。
NOT WRITTEN!
書き込まれない!
ずっと書き込まれると思ってました。