これは初心者向けの質問ですが謝罪しますが、解決策をオンラインで見つけることができません。私が見つけた助けのほとんどは私の問題を解決しなかったし、スウィフトの以前のバージョンのものでした。SwiftでUserDefaultsを設定する際の問題3
ゲーム内のプレーヤーの累積スコアを維持したいと考えています。初めてログインしたときは0になりますが、プレイするたびに、プレイしたラウンド数に応じて増加します。
私はいくつかの取り決めを試してみましたが、今私が持っている私AppDelegateファイルにしました:
UserDefaults.standard.set(Int(100),forKey:"TotalPoints")
その後、GameSceneの他の部分、私が持っているプレーヤーの進歩に:
let defaults=UserDefaults.standard
var CurrentExtras=defaults.integer(forKey: "TotalPoints")
CurrentExtras = CurrentExtras+100
UserDefaults.standard.set(Int(CurrentExtras),forKey:"TotalPoints")
これはゲームの更新では機能しますが、一度アプリケーションを終了して再起動すると、初期値に戻ります。最初のデフォルトをチェックして、それが上書きされていないことを確認するにはどうすればよいですか?私はこれで正しいと思いますか?
実際には、 'registerDefaults'を使用した元の回答がより良い解決策でした。 – rmaddy