对于如此少量的数据(26 项),我建议归档.
NSKeyedArchiver
使用/保存到 plist NSKeyedUnarchiver
。从委托的 didFinishLaunchingWithOptions 中读取您的数据,并收听UIApplicationWillResignActiveNotification
以保存它。
ANSUserDefaults
是一个具有旨在存储用户偏好的功能的 plist。它通常用于代替常规 plist 来保存几行代码,我认为这是一个坏主意,因为您会获得与任务无关的额外复杂性。
如果您希望保护登录以防止有人窃取设备并执行取证,请使用钥匙串。您可能想使用包装器并阅读一些文章,如果您有兴趣,请发表评论。
如果您寻找更多功能,请参阅在 iphone 上存储数据的最佳方式,但现在似乎并非如此。
一些代码可以帮助您入门...注册以调用保存应用程序辞职:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(saveMyData)
name:UIApplicationWillResignActiveNotification
object:nil];
在图形/字典的每个对象上/无论您要归档什么,都实现 NSCoding:
- (void)encodeWithCoder:(NSCoder*)coder {
[coder encodeObject:myIvar forKey:kmyIvar];
}
- (id)initWithCoder:(NSCoder*)coder {
if((self = [super initWithCoder:coder])) {
self.myIvar = [[coder decodeObjectForKey:kmyIvar] retain];
}
return self;
}