我通过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
我在第一个视图控制器中收到服务器的响应后立即执行此操作。我在sturtup中使用这三个数据对象,但它仍然崩溃
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
[defaults setObject:_username.text forKey:@"userNameDefault"];
[defaults setObject:_password.text forKey:@"passwordDefault"];
[defaults setObject:_server.text forKey:@"serverDefault"];
答案 0 :(得分:1)
当您想要检索它们以显示它们时,您是否在视图控制器中再次设置默认值? uName = [defaults objectForKey @“userNameDefault”]