我正在使用很多NSUserDefaults,我希望每次应用程序开始删除它们,除了两个对象是否有可能?
任何帮助表示赞赏
答案 0 :(得分:2)
我假设您知道要保留哪两个对象?如果是这种情况,请使用以下代码:
id obj1 = [[NSUserDefaults standardUserDefaults] objectForKey@"keyForObj1"];
id obj2 = [[NSUserDefaults standardUserDefaults] objectForKey@"keyForObj2"];
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
[[NSUserDefaults standardUserDefaults] setObject:obj1 forKey:@"keyForObj1"];
[[NSUserDefaults standardUserDefaults] setObject:obj2 forKey:@"keyForObj2"];
答案 1 :(得分:1)
您需要自己跟踪密钥并在启动时删除与其关联的对象。更重要的是,您为什么要在NSUserDefaults中存储数据,而您只希望通过单次运行应用程序来保存数据?那种数据应该保存在内存中。
答案 2 :(得分:1)
您可以将这两个项目保存在单独的密钥下,并在ViewDidLoad期间添加到代码中。 让我知道实际问题。