我通过textifields向我的upp输入一些用户信息。我希望我的应用程序保存这些信息,每当我的应用打开时,使用相同的信息。我使用了NSUserDefaults,但如果我从RAM中清除应用程序(即从运行的进程中清除)并尝试统计/打开我的应用程序,它就会崩溃。我必须用什么来保存用户信息所有的时间。
编辑
我将我的数据保存在AppDelegate中,我希望当用户单击主页按钮时,用户信息会被保存。这是我的代码:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"url in background: %@", mainUrl);
//uName and passwd are strings that come from other classes
NSUserDefaults *name=[NSUserDefaults standardUserDefaults];
[name setObject:uName forKey:@"userNameDefault"];
NSUserDefaults *passWd=[NSUserDefaults standardUserDefaults];
[passWd setObject:passwd forKey:@"passwordDefault"];
}
编辑-2
我在第一个视图控制器中收到服务器的响应后立即执行此操作。我在stutup中使用了这三个数据对象,但它仍然会崩溃
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
[defaults setObject:_username.text forKey:@"userNameDefault"];
[defaults setObject:_password.text forKey:@"passwordDefault"];
[defaults setObject:_server.text forKey:@"serverDefault"];
当您想检索默认值以显示它们时,您是否在视图控制器中再次设置了默认值?uName=[defaults objectForKey@"userNameDefault"]