2 bluetooth99 bluetooth99 于 2013.03.15 16:06 提问

在iphone中即时保存设置

有没有可能在iphone中即时保存设置?IOS4+中的应用不能exit关闭。如果我按停止进程,设置就会丢失。怎么样能保存?

- (void)compLoad {
    compTotal = [[NSUserDefaults standardUserDefaults] integerForKey: @"compTotal"];
    compCount = [[NSUserDefaults standardUserDefaults] integerForKey: @"compCount"];
    compShow = [[NSUserDefaults standardUserDefaults] boolForKey: @"compShow"];
}

- (void)compSave {
    [[NSUserDefaults standardUserDefaults] setInteger: compTotal forKey: @"compTotal"];
    [[NSUserDefaults standardUserDefaults] setInteger: compCount forKey: @"compCount"];
    [[NSUserDefaults standardUserDefaults] setBool: compShow forKey: @"compShow"];
}

3个回答

zhanglei5415
zhanglei5415   Rxr 2013.03.17 16:26
已采纳

在使用NSUserDefaults存储数据时,需要注意的就是在stored数据以后,需要“同步”一下你的操作。也就是需要调用 synchronize方法

[[NSUserDefaults standardUserDefaults] synchronize];
redCoral_
redCoral_   2013.03.15 16:25
- (void)compSave 
{
    [[NSUserDefaults standardUserDefaults] setInteger: compTotal forKey: @"compTotal"];
    [[NSUserDefaults standardUserDefaults] setInteger: compCount forKey: @"compCount"];
    [[NSUserDefaults standardUserDefaults] setBool: compShow forKey: @"compShow"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
dream238
dream238   2013.03.15 16:26

UIApplicationDelegate那里不是有几个delegate函数吗?在程序状态变化时(如进入后台或恢复前台时都会被调用到的),在里面存储下就好了。
参考这里:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html
Monitoring App State Changes部分

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!