NSUserDefaultsNSUserDefaults
最佳答案:
正如其他人所说,最好不要将敏感数据保存在用户默认值中,如应用程序内购买或明显的密码等内容中。即使是像高分这样的东西也能更好地保存在钥匙链中,这样人们就不会作弊了。
我认为苹果的部分文档已经过时了,应该修改,因为用户默认值不是存储敏感数据的方式,应用程序内购买的肯定是IMO。
只需将基本内容保存在用户默认设置中,如语言设置、卷设置等。
如果要保存敏感数据,应使用keychain。现在,我认为keychain API非常复杂,但是在GitHub上有两个很好的助手可以使用
1)https://github.com/jrendel/SwiftKeychainWrapper
2)https://github.com/matthewpalmer/Locksmith
我个人使用第一个更直接,更容易使用。它实际上使保存数据的任务与用户默认值相同。只需将swift文件复制到您的项目中或使用cocoapods就可以了。
第二个更先进、更复杂,但仍然很棒。
它只是您需要什么以及您对keychain API的理解程度的一个选择。
keychain需要记住的一点是,即使你删除了你的应用程序,数据也会持续存在,我认为这是一件好事。
所有的功劳都归各自包装的作者所有。
希望这有帮助