Iphone 如何使用UISegmented控件保持用户登录

Iphone 如何使用UISegmented控件保持用户登录,iphone,xcode,login,uisegmentedcontrol,Iphone,Xcode,Login,Uisegmentedcontrol,我正在创建一个简单的应用程序,在根视图控制器中加载一个模式视图,该模式视图有一个分段控件,用户可以选择是否要保持登录状态。模式视图有一个用户名和密码字段,下面有一个提交按钮。在应用程序验证用户后,他/她将被带到根视图控制器,该控制器有按钮将用户带到另一个视图,即功能1、功能2等。如果用户点击后退按钮(由导航控制器驱动),我希望在应用程序再次加载根视图控制器时,不要再次询问用户的凭据,因此采用分段控制 在这种情况下,如何使用和实现分段控制?谢谢 我想您已经意识到了这一点,但您需要存储登录凭据,我想

我正在创建一个简单的应用程序,在根视图控制器中加载一个模式视图,该模式视图有一个分段控件,用户可以选择是否要保持登录状态。模式视图有一个用户名和密码字段,下面有一个提交按钮。在应用程序验证用户后,他/她将被带到根视图控制器,该控制器有按钮将用户带到另一个视图,即功能1、功能2等。如果用户点击后退按钮(由导航控制器驱动),我希望在应用程序再次加载根视图控制器时,不要再次询问用户的凭据,因此采用分段控制


在这种情况下,如何使用和实现分段控制?谢谢

我想您已经意识到了这一点,但您需要存储登录凭据,我想您的问题是“如何!?”

如果您只想在应用程序的生命周期内存储登录凭据(当您关闭应用程序时,这些凭据将注销),我会将变量存储在Globals类中,以便可以从应用程序中的任何位置引用它们

如果您想将登录凭据保存更长时间(即,如果关闭并重新打开应用程序,它们可能仍会登录),则应使用NSUserDefaults:

写作:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UserIsLoggedIn"];
[[NSUserDefaults standardUserDefaults] synchronize];
阅读:

BOOL loggedIn = [[NSUserDefaults standardUserDefaults] boolForKey:@"UserIsLoggedIn"];
但也请注意以下注意事项:

  • 用户默认值不安全。请不要在没有加密的情况下将密码存储在那里
  • boolForKey:
    如果您提供的密钥不存在,则返回NO

你为什么选择UISegmentedController?只需使用简单的UIBarButtonim作为RootViewController导航栏上的注销按钮。

在RootViewControllers
viewwillbeen/viewdidebeen
方法中,检查用户是否已登录。基于此加载模态视图。

感谢您的教程。我将尝试了解如何使用NSUserDefaults在我的应用程序中实现它。:)在用户默认设置中存储用户名和密码非常简单,直到人们意识到您正在以明文形式存储他们的密码:)这对我来说很好,因为这只是纯线框。当发生web服务时,此处将使用更好的安全性实现。:)我想实现它,但客户端希望使用UISegmentedControl:(嗯,有时由于客户的要求,简单的任务会变得复杂……是的。幸好我能很好地实施它。)