这篇文章主要介绍了IOS中NSUserDefault如何实现记住用户名及密码功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
成都网络公司-成都网站建设公司创新互联公司十余年经验成就非凡,专业从事网站设计制作、做网站,成都网页设计,成都网页制作,软文平台,广告投放平台等。十余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!
一般的登录界面都会有一个记住密码的选项,要实现这个功能可以使用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如何实现记住用户名及密码功能
链接分享:https://www.cdcxhl.com/article28/giscjp.html
成都网站建设公司_创新互联,为您提供网站收录、建站公司、域名注册、标签优化、品牌网站设计、网站改版
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联