@@ -713,19 +713,20 @@ fileManager.move()
713
713
##💾 Memento
714
714
715
715
``` swift
716
- typealias Memento = Dictionary <NSObject,AnyObject >
716
+ typealias Memento = Dictionary <NSObject, AnyObject >
717
717
718
718
/**
719
719
* Originator
720
720
*/
721
721
class GameState {
722
+ var gameLevel: Int = 1
723
+ var playerScore: Int = 0
722
724
723
- var gameLevel:Int = 1
724
- var playerScore:Int = 0
725
-
726
- func saveToMemeto () -> Memento { return [" gameLevel" : gameLevel," playerScore" : playerScore] }
725
+ func saveToMemeto () -> Memento {
726
+ return [" gameLevel" : gameLevel, " playerScore" : playerScore]
727
+ }
727
728
728
- func restoreFromMemeto (memento :Memento) {
729
+ func restoreFromMemeto (memento : Memento) {
729
730
gameLevel = memento[" gameLevel" ]! as Int
730
731
playerScore = memento[" playerScore" ]! as Int
731
732
}
@@ -735,15 +736,15 @@ class GameState {
735
736
* Caretaker
736
737
*/
737
738
class CheckPoint {
738
-
739
- class func saveState (memento :Memento,keyName :String = " gameState" ){
739
+ class func saveState (memento : Memento, keyName : String = " gameState" ) {
740
740
let defaults:NSUserDefaults = NSUserDefaults.standardUserDefaults ()
741
- defaults.setObject (memento , forKey :keyName)
741
+ defaults.setObject (memento, forKey : keyName)
742
742
defaults.synchronize ()
743
743
}
744
744
745
- class func restorePreviousState (keyName :String = " gameState" ) -> Memento{
745
+ class func restorePreviousState (keyName : String = " gameState" ) -> Memento {
746
746
let defaults:NSUserDefaults = NSUserDefaults.standardUserDefaults ()
747
+
747
748
return defaults.objectForKey (keyName) as Memento
748
749
}
749
750
}
@@ -754,27 +755,27 @@ var gameState = GameState()
754
755
gameState.gameLevel = 2
755
756
gameState.playerScore = 200
756
757
757
- // saves state:{gameLevel 2 playerScore 200}
758
+ // Saves state: {gameLevel 2 playerScore 200}
758
759
CheckPoint.saveState (gameState.saveToMemeto ())
759
760
760
761
gameState.gameLevel = 3
761
762
gameState.gameLevel = 250
762
763
763
- // restores state:{gameLevel 2 playerScore 200}
764
+ // Restores state: {gameLevel 2 playerScore 200}
764
765
gameState.restoreFromMemeto (CheckPoint.restorePreviousState ())
765
766
766
767
gameState.gameLevel = 4
767
768
768
- // saves state - gameState2:{gameLevel 4 playerScore 200}
769
- CheckPoint.saveState (gameState.saveToMemeto (),keyName : " gameState2" )
769
+ // Saves state - gameState2: {gameLevel 4 playerScore 200}
770
+ CheckPoint.saveState (gameState.saveToMemeto (), keyName : " gameState2" )
770
771
771
772
gameState.gameLevel = 5
772
773
gameState.playerScore = 300
773
774
774
- // saves state - gameState3:{gameLevel 5 playerScore 300}
775
- CheckPoint.saveState (gameState.saveToMemeto (),keyName : " gameState3" )
775
+ // Saves state - gameState3: {gameLevel 5 playerScore 300}
776
+ CheckPoint.saveState (gameState.saveToMemeto (), keyName : " gameState3" )
776
777
777
- // restores state - gameState2:{gameLevel 4 playerScore 200}
778
+ // Restores state - gameState2: {gameLevel 4 playerScore 200}
778
779
gameState.restoreFromMemeto (CheckPoint.restorePreviousState (keyName : " gameState2" ))
779
780
```
780
781
0 commit comments