这可能看起来像一个奇怪的问题,但我真的可以关闭iPhone并在iPhone模拟器中重启吗?我想这样做是为了看看我的设置是否在关机后重新启动时保存并重新加载.
谢谢
我有一个带有桌面视图的iPhone程序.表视图从NSMutable Array获取其数据.我希望人们能够向该表添加数据,即向该数组添加对象.使用addObject和reloadData,我能够向数组添加对象,并重新加载表视图,以便还显示新添加的数据.但是,一旦我重新启动应用程序,就会丢失新添加的数据.我的问题是将数组存储在iPhone中的最佳方法是什么,以便在重新启动时我可以使用用户添加的数据填充表格?
谢谢
我需要在NSUserDefaults中保存NSMutableDictionary.我在网上搜索了很多例子,但没有收到任何足够相关的例子.有人可以发布一小段代码,它会在关机时在NSUserDefaults中保存NSMutableDictionary,并在应用程序启动时检索它吗?还能告诉我在哪里放置代码.
我自己有一些代码,但它不起作用.
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;
}
Run Code Online (Sandbox Code Playgroud)
appDelegate.h - 存储数据
- (void)applicationWillTerminate:(UIApplication *)application {
[self saveContext];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *dat = [NSKeyedArchiver archivedDataWithRootObject:tmpArray];
[defaults setObject:dat forKey:@"theKey"];
}
Run Code Online (Sandbox Code Playgroud)
是的,它是一个数组,但我需要一个NSMutableDictionary.
iphone application-shutdown nsuserdefaults nsmutabledictionary data-persistence