KeychainWrapper替代NSUserDefaults存储highScore

时间:2016-02-08 00:14:31

标签: ios swift keychain

您好我创建了一个应用程序并用于在NSUserDefaults中存储highScores,并且每次使用此代码启动游戏时都会加载highScore

var highScore = NSUserDefaults.standardUserDefaults().integerForKey("highScore")

然后我听说它很容易修改,所以我想我会使用钥匙串。我不太了解keyChain然后我发现SwiftKeychainWrapper看起来很容易实现。我正在使用此代码

var highScorestring: String = KeychainWrapper.stringForKey("highScore")!
var highScore = Int(highScorestring)

然而,每次应用程序启动时,我都会得到一个found nil while unwrapping Optional value,我怀疑是由于第一行代码强制解包highScorestring

我猜Keychain在退出后并没有真正保留数据?我在没有强制解包的情况下对其进行了测试,但确实为let if并且highScore始终为0,因为代码未运行。有人可以解释为什么会发生这种情况吗?

0 个答案:

没有答案