sta*_*rob 0 application-state ios
我想在应用程序关闭或在后台运行一段时间(比如说5分钟)时,消除保存到NSUserDefaults所有字段中的所有变量.
我试图在applicationDidFinishLaunching的app委托中添加一行,如下所示:
if (UIApplicationStateBackground == TRUE) {
NSUserDefaults *profiles = [NSUserDefaults standardUserDefaults];
[profiles setObject:nil forKey:@"name1"];
[profiles synchronize];
}
Run Code Online (Sandbox Code Playgroud)
我还将这部分添加到applicationWillTerminate中:
NSUserDefaults *profiles = [NSUserDefaults standardUserDefaults];
[profiles setObject:nil forKey:@"name1"];
[profiles synchronize];
Run Code Online (Sandbox Code Playgroud)
这似乎都不起作用,我不知道如何设置'如果5分钟超过应用程序在后台,删除NSUserDefaults变量'的条件 - 任何帮助?
我建议删除对象而不是将其设置为nil.
- (void)removeObjectForKey:(NSString *)defaultName;
Run Code Online (Sandbox Code Playgroud)
当没有与查询匹配的密钥时,NSUserDefaults的正常行为是返回nil,所以我认为最好遵循相同的规则而不是为某个密钥存储nil.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
2539 次 |
| 最近记录: |