如何在应用程序中保存用户信息

时间:2012-03-26 21:45:09

标签: ios objective-c ipad user-input

我通过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"];

1 个答案:

答案 0 :(得分:1)

当您想要检索它们以显示它们时,您是否在视图控制器中再次设置默认值? uName = [defaults objectForKey @“userNameDefault”]