我需要在NSUserDefaults中保存一个NSMutableDictionary。我在网上搜索了很多例子,但没有收到足够相关的例子。有人可以发布一小段代码来关闭NSUserDefaults中的NSMutableDictionary,并在应用程序启动时检索它吗?你也可以告诉我在哪里放置代码。NSUserDefaults帮助
我自己有一些代码,但它不工作。
appDelegate.h - 数据
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *dat = [defaults objectForKey:@"theKey"];
tmpArray = [[NSMutableArray alloc] init];
tmpArray = [NSKeyedUnarchiver unarchiveObjectWithData:dat];
[self.window makeKeyAndVisible];
[window addSubview:tabBarController.view];
return YES;
}
appDelegate.h检索 - 数据
- (void)applicationWillTerminate:(UIApplication *)application {
[self saveContext];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *dat = [NSKeyedArchiver archivedDataWithRootObject:tmpArray];
[defaults setObject:dat forKey:@"theKey"];
}
是的,它是为一个阵列的存储,但我将需要一个用于的NSMutableDictionary。
我觉得问题不在于NSUserDefaults。可能是您放置代码的地方可能无法为您保存数据。你可以发布整个appDelegate方法吗?你也可以放一个断点,看看NSMutableDictionary是否保存在NSUserDefaults中? – 2011-03-26 06:43:38