我正在使用iOS应用程序,该应用程序将要求用户配置应用程序的一部分,并且必须在用户打开/关闭应用程序的一部分时保存该配置。应用程序背景化后,必须删除用户配置以确保安全。
我的问题是什么是暂时保存主要字符串和NSIntegers然后在时机成熟时删除它们的最佳方法。
NSUserDefaults
NSCache
我已经调查了两者,我无法得出任何可靠的结论。还有另一种我错过的方式可能会更好吗?
谢谢! -Brian
答案 0 :(得分:1)
如果您只想在应用程序位于前台时使用您的设置,请不要将它们存储在NSUserDefaults
中。 NSUserDefaults
会在应用启动之间保留,并在用户删除应用时删除。
对于临时存储,请考虑将键/值对存储在简单的NSMutableDictionary
中。清除应用程序委托的applicationWillResignActive
方法中的字典,以确保在将应用程序移动到后台时清除值。
虽然NSCache
是类似于字典的键/值存储,但如果收到任何内存不足警告,您的应用将清除NSCache
。仅在NSCache
中存储非关键(可重新创建的)数据。