2016-08-22 16 views
0

私は衝突でゲームを作っています。プレイヤーはそのが設定されたオブジェクトを実行している壁と相互作用し、現在のオブジェクト+ 1Swift NSUserdefaultsを2回保存する

を設定するが、私はそれを保存する前壁を2回タッチする必要があり、いくつかの理由で 。

ここに保存と読み込みコードがあります。

NSUserDefaults.standardUserDefaults().setObject(NSUserDefaults.standardUserDefaults().integerForKey("map") + 1, forKey: "map") 

var myObject = NSUserDefaults.standardUserDefaults().objectForKey("key") 
+1

私は、衝突のようなゲームイベントが発生したときにユーザーのデフォルトに保存する必要があるのはなぜか分かりません。それは非常に悪いコードのにおいを持っています。それにかかわらず、同期を試みてください(同期メソッド)。ただオブジェクトを設定しても、必ずしもそれを書いてしまうわけではありません。 –

+0

ありがとう!出来た! – HeeysamH

答えて

0

は呼び出してみてください。

NSUserDefaults.standardUserDefaults().synchronize()

自動的に定期的な 間隔で呼び出されるsynchronizeメソッドは、ユーザーのデフォルト データベースと同期してメモリ内キャッシュを保持します。

頻繁にコールするとパフォーマンス上の問題が発生する可能性がありますが、小さなアプリケーションの場合は過剰なものではありません。また、現在のスレッドの変更や他の変更アプリケーション内のスレッド。

関連する問題