我需要在首选项中存储“user_session”和“game_deck”相关信息。
在我的应用程序中,有时需要清除存储在“game_deck”中的所有数据,而在注销时,需要清除存储在“user_session”中的所有数据。
我已经通过指定文件名来实现此功能在android中。
SharedPreferences prefs = getSharedPreferences(
"user_session", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.clear();
editor.commit();
和
SharedPreferences prefs = getSharedPreferences(
"game_deck", Context.MODE_PRIVATE);
Editor editor = prefs.edit();
editor.clear();
editor.commit();
在为iPhone创建相同项目时,如何在Objective-C中实现相同功能?
我需要用
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
用于存储数据。但是如何指定两个不同的默认值,以便可以清除特定默认文件中的所有变量?
提前致谢 :)
最佳答案
NSUserDefault
的工作方式不同于Android中的SharedPreference
。这里有一个 public 的standardUserDefault
对象,您可以在其中保存所有数据。对于“user_session”和“game_deck”,没有单独的用户默认值。
您可以做的就是创建字典
NSMutableDictionary *userSessionDict = [[NSMutableDictionary alloc] init];
[userSessionDict setObject:@"someUsername" forKey:@"username"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[default setObject:userSessionDict forKey:@"user_session"];
//you can remove using
[default removeObjectForKey:@"user_session"];