这篇文章主要介绍了IOS NSUserDefault 记住用户名及密码功能的实现代码,需要的朋友可以参考下
一般的登录界面都会有一个记住密码的选项,要实现这个功能可以使用NSUserDefault,这里只是讲解明文的处理方式,虽然这样是有一定的风险性的但是目前只是了解如何实现这个功能:
首先声明一个NSUserDefault对象:
let userDefaults = NSUserDefaults.standardUserDefaults() //本地操作所需
然后根据是否记住密码按钮的状态来判断是否要为用户名和密码设置值,如果是记住密码,那么需要取出需要记住的密码,并且为这两个TextField赋值。
在viewDidLoad方法中添加如下代码:
///检查记住密码标记,如果为YES,那么就读取用户名和密码并为TextField赋值
///并将图标背景设置为记住状态,如果为NO,那么设置背景为未记住状态
if(userDefaults.boolForKey("isRememberPsd"))
{
userDefaults.setBool(true, forKey: "isRememberPsd")
isRemberPW.setBackgroundImage(UIImage(named: "pwd_checked.png"), forState: .Normal)
self.UserName.text = userDefaults.stringForKey("userName")
self.PassWord.text = userDefaults.stringForKey("userPsw")
}else if(!userDefaults.boolForKey("isRememberPsd"))
{
userDefaults.setBool(false, forKey: "isRememberPsd")
self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_unchecked.png"), forState: .Normal)
}
在登录按钮的点击事件中添加如下代码:
if(userDefaults.boolForKey("isRememberPsd"))
{
userDefaults.setValue(userName, forKey: "userName")
userDefaults.setValue(userPsw, forKey: "userPsw")
}
如果为记住密码的状态,那登录前需要将用户名和密码写入到本地。
记住密码按钮的点击事件的处理:
//读取本地的key为“isRememberPsd”的状态,YES代表记住密码,NO代表不记住
///如果YES,再次点击就需要将图片设置为未记住的样式并改变key的值。
if(userDefaults.boolForKey("isRememberPsd"))
{
self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_unchecked.png"), forState: .Normal)
userDefaults.setBool(false, forKey: "isRememberPsd")
}
else
{
self.isRemberPW.setBackgroundImage(UIImage(named:"pwd_checked.png"), forState: .Normal)
userDefaults.setBool(true, forKey: "isRememberPsd")
}
userDefaults.synchronize()
这样一个基本的记住密码,并且再下次登录时会自动的为其写入用户名和密码的功能就实现了
总结
以上所述是小编给大家介绍的IOS NSUserDefault 记住用户名及密码功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程学习网网站的支持!
织梦狗教程
本文标题为:IOS NSUserDefault 记住用户名及密码功能的实例代码
基础教程推荐
猜你喜欢
- Flutter手势密码的实现示例(附demo) 2023-04-11
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- Android中的webview监听每次URL变化实例 2023-01-23
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- android studio按钮监听的5种方法实例详解 2023-01-12
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- Android多返回栈技术 2023-04-15
